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:[email protected]] Sent: Thursday, January 13, 2011 3:58 PM To: Woodruff, Robert J Cc: [email protected]; 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 _______________________________________________ ewg mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg
