[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: reentrantcy?



[Paul Elliott]
> B 
> > If all linkings are shared, it is my understanding that the global state
> > of the multiple-linked library would be shared by all references.
> 
> Statement A and B above seem to contradict each other.

> If global state means global variables, my experiments show that B is
> not true but A is true.

No, what he meant is: if you link to libraries 'foo' and 'bar', and
library 'foo' also happens to use 'bar', then at runtime there will be
only one copy of 'bar' in your process address space.  If library 'bar'
is not reentrant and has shared state, this shared state will affect
functionality used by both your base program and library 'foo'.

This is all within a single process.  Multiple processes don't affect
each other unless, as others have noted, you explicitly set up shared
memory and the like.
-- 
Peter Samuelson | org-tld!p12n!peter | http://p12n.org/


Reply to: