> 
> There is no particular problem with this behavior
> for
> asynchronously-generated signals. 
>
Unfortunately, this creates a problem for me. I'm implementing a user-level 
thread library, namely the M:N model which Sun abandoned. My unit of execution 
is (libc) thread which uses signals for preemptive scheduling and setcontext() 
family of functions to switch between my "threads". My "threads" have small 
stacks which are allocated on demand, and executing the signal handler on the 
regular stack causes stack overflow and results in data corruption and 
eventually in program crash.

I understand that Solaris 8 had M:N model, and this is what I'm also 
implementing. In my case, the unit of execution is libc thread which schedules 
my "threads" by setcontext() family of functions. How can I go one level 
"below", namely to directly use LWPs to schedule my user-level "threads" ? In 
this way I'd avoid additional layer (libc threading) and this signal handling 
issue.

Basically, it'd be nice if Solaris provided a way to construct user-level 
threading libraries in the M:N model. :)
 
 
This message posted from opensolaris.org
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to