Cancellation and dlmopen?

Carlos O'Donell carlos@redhat.com
Tue Nov 10 02:03:00 GMT 2015


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.



More information about the Libc-alpha mailing list