This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]