This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Cancellation and dlmopen?
- From: "Carlos O'Donell" <carlos at redhat dot com>
- To: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>, GNU C Library <libc-alpha at sourceware dot org>
- Cc: Florian Weimer <fweimer at redhat dot com>
- Date: Mon, 9 Nov 2015 21:03:05 -0500
- Subject: Cancellation and dlmopen?
- Authentication-results: sourceware.org; auth=none
Adhemerval,
In our previous cancellation implementation the use of dlmopen
would lead to weird issues like this:
https://bugzilla.redhat.com/show_bug.cgi?id=1192013
In the old implementation if you called usleep in a dlmopen'd
libc.so.6 then that libc.so.6 would not have a __libc_multiple_threads
value > 0 and would not execute cenable/cdisable around the cancellable
syscalls.
IIUC your work removes these variables as it introduces cancellation
regions around the syscalls, so we shouldn't see this problem?
Does that sound right?
Florian,
We were just talking about cases of shared global state and
this is another one of them that likely impacts static binaries
and also dlmopen :-)
Cheers,
Carlos.