Date: Wed, 25 Nov 2009 00:35:05 +0900 From: Hajimu UMEMOTO <ume@freebsd.org> To: Mikolaj Golub <to.my.trociny@gmail.com> Cc: FreeBSD Stable <freebsd-stable@freebsd.org> Subject: Re: pthread.h: typo in #define pthread_cleanup_push/pthread_cleanup_pop Message-ID: <ygews1gkkba.wl%ume@mahoroba.org> In-Reply-To: <8663907xyy.fsf@zhuzha.ua1> References: <86aayc7z4g.fsf@zhuzha.ua1> <8663907xyy.fsf@zhuzha.ua1>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi,
>>>>> On Tue, 24 Nov 2009 17:18:29 +0200
>>>>> Mikolaj Golub <to.my.trociny@gmail.com> said:
to.my.trociny> I was hurry when said that the patch fixed the problem. The application
to.my.trociny> compiled but later it crashed in pthread_cleanup_pop:
to.my.trociny> (gdb) bt
to.my.trociny> #0 0xbf4f9ee0 in ?? ()
to.my.trociny> #1 0x287d18c9 in __pthread_cleanup_pop_imp () from /lib/libthr.so.3
to.my.trociny> #2 0x287d18ed in pthread_cleanup_pop () from /lib/libthr.so.3
to.my.trociny> #3 0x287d123c in pthread_exit () from /lib/libthr.so.3
to.my.trociny> #4 0x287c7757 in pthread_getprio () from /lib/libthr.so.3
to.my.trociny> #5 0x00000000 in ?? ()
to.my.trociny> So, I don't know what these macros actually were supposed to be. They were
to.my.trociny> introduced in r179662:
Your modification to pthread.h is wrong. You need to write your code
something like following:
pthread_cleanup_push();
. . .
do something
. . .
pthread_cleanup_pop();
This is not FreeBSD alone. pthread_cleanup_push() and
pthread_cleanup_pop() are macro on Linux as well.
Sincerely,
--
Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan
ume@mahoroba.org ume@{,jp.}FreeBSD.org
http://www.imasy.org/~ume/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ygews1gkkba.wl%ume>
