This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: wrong macro definition in pthread.h
> > In cvs head.
> >
> > winsup/cygwin/include/pthread.h
> >
> > #define pthread_cleanup_push(_fn, _arg) { __pthread_cleanup_handler __cleanup_handler = \
> > { _fn, _arg, NULL }; \
> > _pthread_cleanup_push( &__cleanup_handler );
> > #define pthread_cleanup_pop(_execute) _pthread_cleanup_pop( _execute ); }
> >
> > incorrect '}' position.
> >
>
> >From my man pthread_cleanup_push:
>
> Matching pairs of !pthread_cleanup_push! and !pthread_cleanup_pop!
> must occur in the same function, at the same level of block nest‐
> ing. Actually, !pthread_cleanup_push! and !pthread_cleanup_pop!
> are macros, and the expansion of !pthread_cleanup_push! introduces
> an open brace !{! with the matching closing brace !}! being intro‐
> duced by the expansion of the matching !pthread_cleanup_pop!.
OK. I understand.
I will use '_pthread_cleanup_push'.
> SO if this is a bug .. it is shared by Linux..:)
>
> --
> John Skaller <skaller at users dot sf dot net>
> Felix, successor to C++: http://felix.sf.net
>
>
> --
> Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
> Problem reports: http://cygwin.com/problems.html
> Documentation: http://cygwin.com/docs.html
> FAQ: http://cygwin.com/faq/
>
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/