We have the following confusion. Our design is currently being help up due
to this. So please respond if you happen o know the answer.
We have a main single threaded code with thread unsafe libraries being
linked in. From this code we want to be able to make calls to a third party
library ( Orbix ). But orbix is essentially reentrant code. We know that
Orbix internally have house keeping threads ( though we only make one call
at a time ).
So summarising ...
is there any problem in a single threaded **thread unsafe** code making
calls to **multi threaded** library, if the library internally creates
Will there be any issues with the same symbols being defined multiply (
single threaded version of the symbol and reentrant version of the same
symbol ) in the resultant binary.
I would like to know about this problem in general and specifically to
Solaris 2.7 ( if possible ).
I know Solaris creates about 3 internal threads if your program is compiled
with ( -mt switch which is required to compile reentrant code ).
I also tried a simple program with a shared object defining foo() that is
produced with -mt switch and the main() compiled without -mt switch and
linked to teh shared object. And it worked fine. But can I generalise this
Thanks for your help