[PATCH] pthread_once hangs when init routine throws an exception [BZ #18435]
Jonathan Wakely
jwakely@redhat.com
Mon Jun 8 11:48:00 GMT 2015
On 04/06/15 09:51 +0200, Torvald Riegel wrote:
>We wanted to change to void* with GCC-5, but missed that boat
>unfortunately. We can document that we don't give ABI/API guarantees
>for it, but this would be much clearer to users if this would return
>void* I believe.
I think it's still OK to change it to void* now, and document that it
is currently the address of the POSIX primitive, but that the function
could be modified or removed in future.
A disadvantage of returning void* is that if we do change what it
returns then code using it still compiles and links. If we change it
from returning pthread_xxx_t* to something else, or just remove it
entirely, then code using it fails earlier, at compile-time.
So we need to document that there are no guarantees for it, whatever
it returns. Simply changing to void* isn't enough.
More information about the Libc-alpha
mailing list