pthread cleanup macros are broken
donny@pacemates
do { __pthread_
Just look at the very end of the output there and you can see how wrong that is. There's no reason the result of that macro should *end* with "do{"!!!
donny@pacemates
gcc (Ubuntu 4.3.3-5ubuntu4) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Ubuntu Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Colin Ian King
- Solved:
- 2009-11-11
- Last query:
- 2009-11-11
- Last reply:
- 2009-11-11
|
#1 |
pthread_
/* ....
pthread_
be used in matching pairs at the same nesting level of braces. */
# define pthread_
do { \
__pthread_
/* Remove a cleanup handler installed by the matching pthread_
If EXECUTE is non-zero, the handler function is called. */
# define pthread_
__clframe.
} while (0)
Hope that explains why!
Oh my.. I should have researched deeper first!
That is actually a pthreads API I have never learned about, I was only using them indirectly in some code that is used in a specialized sort of linker I am helping to hack.
Thanks a lot for your answer!