Re: netlink nlmsg_pid supposed to be pid or tid?

From: Herbert Xu
Date: Mon Nov 21 2005 - 17:14:58 EST


Christopher Friesen <cfriesen@xxxxxxxxxx> 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~} <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/