On Mon, 2006-02-13 at 21:27 +0900, 橋 宏彰 wrote: > 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!. 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/