From: Sean Hefty Date: Tue, 26 Jun 2012 23:49:58 +0000 (-0700) Subject: refresh (create temporary patch) X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=35a86962727ca752c3053bde2458934d77d005b3;p=~shefty%2Flibrdmacm.git refresh (create temporary patch) --- diff --git a/meta b/meta index fe58b9e9..e44bbc88 100644 --- a/meta +++ b/meta @@ -1,10 +1,11 @@ Version: 1 -Previous: f8af58b04bfe326e34e3784bc17d219e83cc870d -Head: b6b9b190f9360838805efed5a2f097e6beb7d5a4 +Previous: 987792133bd31a784b2c1349ac86285bfc0f2e52 +Head: 9e58d865121e298d1d556bf10d3f0a84c7f8959e Applied: v6only: 3afce107e2baec86c5541ed0acd992e37bcb992a rselect: 7d25968d337e976e0e22fdba69c8a2a2f5d35008 shut_wr: b6b9b190f9360838805efed5a2f097e6beb7d5a4 + refresh-temp: 9e58d865121e298d1d556bf10d3f0a84c7f8959e Unapplied: rs-1sge: 8ec392829399dec7ed5c608b8697a482e5faa2de ip6-opt: 7e43a759255e9890d1e41f1edf71792836f53941 diff --git a/patches/refresh-temp b/patches/refresh-temp new file mode 100644 index 00000000..25626c19 --- /dev/null +++ b/patches/refresh-temp @@ -0,0 +1,57 @@ +Bottom: 9c6317e02ea13b4c7c116bc0ca8be00c54af4ed4 +Top: 05a5cd3651f670e432b95b931b9a56acfd6820c7 +Author: Sean Hefty +Date: 2012-06-26 16:49:57 -0700 + +Refresh of shut_wr + +--- + +diff --git a/src/rsocket.c b/src/rsocket.c +index a25c31a..5fc5404 100644 +--- a/src/rsocket.c ++++ b/src/rsocket.c +@@ -147,6 +147,7 @@ enum rs_state { + rs_connected = 0x0100, + rs_connect_wr = rs_connected | 0x0200, + rs_connect_rd = rs_connected | 0x0400, ++ rs_connect_rdwr = rs_connect_rd | rs_connect_wr, + rs_connect_error = 0x0800, + rs_disconnected = 0x1000, + rs_error = 0x2000, +@@ -632,7 +633,7 @@ int raccept(int socket, struct sockaddr *addr, socklen_t *addrlen) + rs_set_conn_data(new_rs, ¶m, &cresp); + ret = rdma_accept(new_rs->cm_id, ¶m); + if (!ret) +- new_rs->state = rs_connected; ++ new_rs->state = rs_connect_rdwr; + else if (errno == EAGAIN || errno == EWOULDBLOCK) + new_rs->state = rs_accepting; + else +@@ -719,7 +720,7 @@ connected: + } + + rs_save_conn_data(rs, cresp); +- rs->state = rs_connected; ++ rs->state = rs_connect_rdwr; + break; + case rs_accepting: + if (!(rs->fd_flags & O_NONBLOCK)) +@@ -729,7 +730,7 @@ connected: + if (ret) + break; + +- rs->state = rs_connected; ++ rs->state = rs_connect_rdwr; + break; + default: + ret = ERR(EINVAL); +@@ -1728,7 +1729,7 @@ int rshutdown(int socket, int how) + 0, 0, 0); + } + +- if (!rs_all_sends_done(rs) && rs->state != rs_error) ++ if (!rs_all_sends_done(rs) && !(rs->state & rs_error)) + rs_process_cq(rs, 0, rs_all_sends_done); + + if ((rs->fd_flags & O_NONBLOCK) && (how == SHUT_WR))