Subject: Re: Threading problems
To: Steven J. Dovich <dovich@tiac.net>
From: Nathan J. Williams <nathanw@wasabisystems.com>
List: tech-pkg
Date: 11/24/2004 08:16:15
"Steven J. Dovich" <dovich@tiac.net> writes:
> Solaris has its own problems in with demand loading a threads
> dependent object at run-time. They have a libthread implementation
> of sigaction that replaces the libc version, and loading a threaded
> object into a non-threaded application "forgets" what the previously
> installed handler was. This has broken the signal management protocol
> in a commercial application that I work with.
Our libpthread has this problem too, now that you mention it.
> To solve the pkgsrc issues, you cannot portably dlopen() a threaded
> object from a non-threaded application. Threads support has to be
> in place before main() is called, and probably before C++ static
> constructors get invoked.
Right. "Just Say No"
- Nathan