> > 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
