Version: 1
-Previous: cdff430393ae9f897982e6a104ece4864805fc90
-Head: 45687e1e340e67b9fce1524755dbf9a59f30a259
+Previous: d34f9be4c62bc5bd84e3ed3dfc649494bbba8201
+Head: a2d35a54a942cbbf75812253865bb76bacad9b6b
Applied:
real-close: 3409f8d6af187d25c63a5d1f8ee8bff5f14555e2
dup2: ca5813e7cf95dee5933fc417e4a34d26f2b01824
fork-pass: 9d661d643b62858fe119794e0ca41b5575faa0ce
fork-connect: a50a83fb4e574a2cc435bba1abf6f9df3d0cc7a6
sendfile: 9073427ddddfa2f7c93d0ac4a6da9844cb7d2960
- fstat: 54cd7a8f0be1f0af69828c837846f64661ca2c14
- refresh-temp: 45687e1e340e67b9fce1524755dbf9a59f30a259
+ fstat: a2d35a54a942cbbf75812253865bb76bacad9b6b
Unapplied:
dbg-out: 4b4c0572eab77856d8fbb919b1feb8f3502a101a
dbg: 0c269855776d3001e37da8c8afe283c20e1d6cd6
Bottom: 03b5e28f4ac8f642409cf46b6a2bfc0da609ec5d
-Top: 758d450afd5a63013c7540fa171eea46bb810c1a
+Top: 7272e42eaa5f911fa4e114b67fb12099a278a57d
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2012-08-07 09:37:24 -0700
---
diff --git a/src/preload.c b/src/preload.c
-index c6cf176..ec62e69 100644
+index c6cf176..cc2162a 100644
--- a/src/preload.c
+++ b/src/preload.c
-@@ -87,6 +87,8 @@ struct socket_calls {
+@@ -87,6 +87,7 @@ struct socket_calls {
int (*fcntl)(int socket, int cmd, ... /* arg */);
int (*dup2)(int oldfd, int newfd);
ssize_t (*sendfile)(int out_fd, int in_fd, off_t *offset, size_t count);
-+ int (*fxstat64)(int ver, int fd, struct stat64 *buf);
+ int (*fxstat)(int ver, int fd, struct stat *buf);
};
static struct socket_calls real;
-@@ -280,6 +282,8 @@ static void init_preload(void)
+@@ -280,6 +281,7 @@ static void init_preload(void)
real.fcntl = dlsym(RTLD_NEXT, "fcntl");
real.dup2 = dlsym(RTLD_NEXT, "dup2");
real.sendfile = dlsym(RTLD_NEXT, "sendfile");
-+ real.fxstat64 = dlsym(RTLD_NEXT, "__fxstat64");
+ real.fxstat = dlsym(RTLD_NEXT, "__fxstat");
rs.socket = dlsym(RTLD_DEFAULT, "rsocket");
rs.bind = dlsym(RTLD_DEFAULT, "rbind");
-@@ -1033,3 +1037,23 @@ ssize_t sendfile(int out_fd, int in_fd, off_t *offset, size_t count)
+@@ -1033,3 +1035,17 @@ ssize_t sendfile(int out_fd, int in_fd, off_t *offset, size_t count)
munmap(file_addr, count);
return ret;
}
+
-+int __fxstat64(int ver, int socket, struct stat64 *buf)
-+{
-+// int fd, ret;
-+
-+// if (fd_get(socket, &fd) == fd_rsocket) {
-+// ret = real.fxstat64(ver, socket, buf);
-+// if (!ret)
-+// buf->st_mode = (buf->st_mode & ~S_IFMT) | __S_IFSOCK;
-+// } else {
-+// ret = real.fxstat64(ver, fd, buf);
-+// }
-+// return ret;
-+ return real.fxstat64(ver, socket, buf);
-+}
-+
+int __fxstat(int ver, int socket, struct stat *buf)
+{
-+ return real.fxstat(ver, socket, buf);
++ int fd, ret;
++
++ if (fd_get(socket, &fd) == fd_rsocket) {
++ ret = real.fxstat(ver, socket, buf);
++ if (!ret)
++ buf->st_mode = (buf->st_mode & ~S_IFMT) | __S_IFSOCK;
++ } else {
++ ret = real.fxstat(ver, fd, buf);
++ }
++ return ret;
+}
+++ /dev/null
-Bottom: 758d450afd5a63013c7540fa171eea46bb810c1a
-Top: 7272e42eaa5f911fa4e114b67fb12099a278a57d
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2012-08-14 16:45:54 -0700
-
-Refresh of fstat
-
----
-
-diff --git a/src/preload.c b/src/preload.c
-index ec62e69..cc2162a 100644
---- a/src/preload.c
-+++ b/src/preload.c
-@@ -87,7 +87,6 @@ struct socket_calls {
- int (*fcntl)(int socket, int cmd, ... /* arg */);
- int (*dup2)(int oldfd, int newfd);
- ssize_t (*sendfile)(int out_fd, int in_fd, off_t *offset, size_t count);
-- int (*fxstat64)(int ver, int fd, struct stat64 *buf);
- int (*fxstat)(int ver, int fd, struct stat *buf);
- };
-
-@@ -282,7 +281,6 @@ static void init_preload(void)
- real.fcntl = dlsym(RTLD_NEXT, "fcntl");
- real.dup2 = dlsym(RTLD_NEXT, "dup2");
- real.sendfile = dlsym(RTLD_NEXT, "sendfile");
-- real.fxstat64 = dlsym(RTLD_NEXT, "__fxstat64");
- real.fxstat = dlsym(RTLD_NEXT, "__fxstat");
-
- rs.socket = dlsym(RTLD_DEFAULT, "rsocket");
-@@ -1038,22 +1036,16 @@ ssize_t sendfile(int out_fd, int in_fd, off_t *offset, size_t count)
- return ret;
- }
-
--int __fxstat64(int ver, int socket, struct stat64 *buf)
--{
--// int fd, ret;
--
--// if (fd_get(socket, &fd) == fd_rsocket) {
--// ret = real.fxstat64(ver, socket, buf);
--// if (!ret)
--// buf->st_mode = (buf->st_mode & ~S_IFMT) | __S_IFSOCK;
--// } else {
--// ret = real.fxstat64(ver, fd, buf);
--// }
--// return ret;
-- return real.fxstat64(ver, socket, buf);
--}
--
- int __fxstat(int ver, int socket, struct stat *buf)
- {
-- return real.fxstat(ver, socket, buf);
-+ int fd, ret;
-+
-+ if (fd_get(socket, &fd) == fd_rsocket) {
-+ ret = real.fxstat(ver, socket, buf);
-+ if (!ret)
-+ buf->st_mode = (buf->st_mode & ~S_IFMT) | __S_IFSOCK;
-+ } else {
-+ ret = real.fxstat(ver, fd, buf);
-+ }
-+ return ret;
- }