Christopher Friesen [off-list ref] wrote:
When an NPTL child thread uses getpid() to specify the pid, it never
receives a response to this request. Running the same code on the
parent works, and running the same code under Linuxthreads works.
As I said before, you should not rely on getpid() to work. Any other
process in the system can bind to your pid which makes it unavailable
to your process. In which case the kernel will pick an arbitrary
negative pid as your address.
You should always use getsockaddr(2) to get your local address.
Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} [off-list ref]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt