]> git.openfabrics.org - ~shefty/librdmacm.git/commit
rsocket: Handle SHUT_RD/WR shutdown flags
authorSean Hefty <sean.hefty@intel.com>
Mon, 4 Jun 2012 20:14:42 +0000 (13:14 -0700)
committerSean Hefty <sean.hefty@intel.com>
Mon, 4 Jun 2012 20:14:42 +0000 (13:14 -0700)
commitac51c21905532bb48b9c330baefd5f2dbe32e6e5
tree684e21cf3e81b4f5bd740456e0fea103e52d7d1f
parenta459c228426c4d25684dcfd2a4203f013f0b454e
rsocket: Handle SHUT_RD/WR shutdown flags

Sridhar Samudrala <sri@us.ibm.com> reported an error (EOPNOTSUPP)
after calling select().

The issue is that rshutdown(SHUT_WR) was called before select().
As part of shutdown, rsockets switches the underlying fd from
nonblocking to blocking to ensure that previously sent data has
completed.  shutdown(SHUT_WR) indicates that the socket should be
kept open for receiving data.

Delay handling the actual shutdown until both the read and write
streams have been disconnected.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
src/rsocket.c