[ewg] Sharing Infiniband connection with forked child
Woodruff, Robert J
robert.j.woodruff at intel.com
Thu Jan 13 16:00:37 PST 2011
No. If you call fork()/exec(), the new process would need
To re-establish a new connection, not like sockets where
an FD can be inherited.
-----Original Message-----
From: Greg Kerr [mailto:kerr.g at husky.neu.edu]
Sent: Thursday, January 13, 2011 3:58 PM
To: Woodruff, Robert J
Cc: ewg at lists.openfabrics.org; Kapil Arya
Subject: Re: [ewg] Sharing Infiniband connection with forked child
This is really helpful, thank you.
Out of curiosity, do you know, if I call exec() can the new process still
access the opened connection? Obviously any data structures setup (such as an
ibv_device or ibv_context) would be destroyed from memory, but perhaps I could
still access the connection somehow or maybe I serialized the old structures.
Thanks
On Thursday, January 13, 2011 06:45:16 pm Woodruff, Robert J wrote:
> Greg wrote,
>
> >I've been working with Infiniband recently and am relatively unfamiliar
> >with the technology. I was hoping someone on this list could answer a
> >question for me.
> >
> >When an Infiniband connection is established between a client and
> >server, when the client fork()s into a child process, can the child
> >process share the existing connection with the parent process
> >(as is the case with shared sockets)?
>
> No. that is not allowed. The child can create new resources and
> establish it's own communication, but it cannot inherit the parent's
> connection.
--
Greg Kerr
More information about the ewg
mailing list