The "__libc_select" symbol

Michael Deutschmann michael at talamasca.ocis.net
Thu Jan 3 19:45:33 UTC 2013


Recently, I've been pouring through uClibc's symbol table looking for
cruft to remove.  I suppose you could call it a New Year resolution....

I've found a few things that are totally useless, and a number of things
that are basically a private interface for libpthread to use (which
still shouldn't be bloating *my* table as I've configured out threads).

While enumerating the latter type of symbol, I've come across something
that might be a bug in threading.  Most of them are aliases of other
libc functions prefixed by "__libc_", placed there so that
linuxthreads.old can wrap them.  (NPTL seems to rely instead on code
embedded into the main uClibc dso, and I'm not sure just how "new"
linuxthreads is coping...)

"__libc_select" appears at first glance to be such a symbol.  However, I
can't find any reference to it in any of the threading libraries.

Has perhaps linuxthreads.old been broken all along, in that
"cancellation" does not take place on a call to select()?

---- Michael Deutschmann <michael at talamasca.ocis.net>


More information about the uClibc mailing list