Version: 1
-Previous: 7cc3ee45d7528defb0ff58bdfff6a6dcef05a9db
-Head: d3cec4b6a8d781bacd4859f7fe8737cbe4ba42a1
+Previous: 2e6abdd5ba73ac278564d3f3915f6fd4e2ab0877
+Head: 61a01b6a5203227c9baaa9dd4d749eb06d09b48e
Applied:
real-close: 3409f8d6af187d25c63a5d1f8ee8bff5f14555e2
- dup2: 8eb7731f3f456a7de7a2e72862ea090601e7856f
- refresh-temp: d3cec4b6a8d781bacd4859f7fe8737cbe4ba42a1
+ dup2: 61a01b6a5203227c9baaa9dd4d749eb06d09b48e
Unapplied:
dbg: 0c269855776d3001e37da8c8afe283c20e1d6cd6
waitall-buggy: c49c6b56c55385774065f5aa2704078e6ae0ceb8
Bottom: c4f9e56fde30641b69e81060e3981b0df33f49c2
-Top: 7b4509e39407700f2b83499e2db1b89ccde97650
+Top: 7ab13a709c32c18a6a63e3cfe6aa048dca0c2c2a
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2012-07-30 16:06:32 -0700
int ucma_max_qpsize(struct rdma_cm_id *id);
int ucma_complete(struct rdma_cm_id *id);
diff --git a/src/preload.c b/src/preload.c
-index a680143..ff7d2d0 100644
+index a680143..b3cf6ac 100644
--- a/src/preload.c
+++ b/src/preload.c
@@ -83,6 +83,7 @@ struct socket_calls {
rs.socket = dlsym(RTLD_DEFAULT, "rsocket");
rs.bind = dlsym(RTLD_DEFAULT, "rbind");
-@@ -807,9 +814,27 @@ int shutdown(int socket, int how)
+@@ -807,9 +814,28 @@ int shutdown(int socket, int how)
int close(int socket)
{
- int fd;
+ struct fd_info *fdi;
++ int ret;
+
init_preload();
- return (fd_close(socket, &fd) == fd_rsocket) ? rclose(fd) : real.close(fd);
}
int getpeername(int socket, struct sockaddr *addr, socklen_t *addrlen)
-@@ -886,3 +911,48 @@ int fcntl(int socket, int cmd, ... /* arg */)
+@@ -886,3 +912,48 @@ int fcntl(int socket, int cmd, ... /* arg */)
va_end(args);
return ret;
}
+ if (!oldfdi || ret != newfd)
+ return ret;
+
-+ newfdi = calloc(1, sizeof *fdi);
++ newfdi = calloc(1, sizeof *newfdi);
+ if (!newfdi) {
+ close(newfd);
+ return ERR(ENOMEM);
+++ /dev/null
-Bottom: 7b4509e39407700f2b83499e2db1b89ccde97650
-Top: 7ab13a709c32c18a6a63e3cfe6aa048dca0c2c2a
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2012-08-06 15:20:06 -0700
-
-Refresh of dup2
-
----
-
-diff --git a/src/preload.c b/src/preload.c
-index ff7d2d0..b3cf6ac 100644
---- a/src/preload.c
-+++ b/src/preload.c
-@@ -815,6 +815,7 @@ int shutdown(int socket, int how)
- int close(int socket)
- {
- struct fd_info *fdi;
-+ int ret;
-
- init_preload();
- fdi = idm_lookup(&idm, socket);
-@@ -933,7 +934,7 @@ int dup2(int oldfd, int newfd)
- if (!oldfdi || ret != newfd)
- return ret;
-
-- newfdi = calloc(1, sizeof *fdi);
-+ newfdi = calloc(1, sizeof *newfdi);
- if (!newfdi) {
- close(newfd);
- return ERR(ENOMEM);