I'm in the process of coding of a (sort-of) alternate threading library on top 
of libc and pthreads. Because of my problems with signal handling, I've become 
a bit familiar with thread implementation within libc and it seems pretty 
bulky. Adding my own "thread implementation" on top of this bulk introduces 
further complexities as it basically duplicates a part of functionality that is 
already present in libc internals.

I'd like to use the "raw" OS interfaces for threading and signal handling: LWPs 
and custom "raw" signal handlers which can even be installed through 
setsigacthandler() [the symbol is even GLOBAL in libc.so, as reported by nm, 
only undocumented]. Two questions:

1. Where can I find further documentation on those (semi-)public interfaces?
2. Assuming that I can ensure that libc is accessed "as if" from a 
single-threaded program, what other problems can I expect?

I have not yet decided to go down this route - I'd like to know whether it's 
possible to implement alternative threading mechanisms w/o adapting a huge part 
of libc?
 
 
This message posted from opensolaris.org
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to