diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | missing/close.c | 5 |
2 files changed, 9 insertions, 1 deletions
@@ -1,3 +1,8 @@ +Sat Aug 7 19:04:49 2010 Tanaka Akira <akr@fsij.org> + + * missing/close.c: undef the macros "getpeername", "getsockname" and + "shutdown" to prevent infinite recursion. + Sat Aug 7 18:37:39 2010 Tanaka Akira <akr@fsij.org> * missing/close.c: undef the macro "close" to prevent infinite diff --git a/missing/close.c b/missing/close.c index 8dc6928ffd..831e75efe1 100644 --- a/missing/close.c +++ b/missing/close.c @@ -5,6 +5,7 @@ #include <sys/types.h> #include <sys/socket.h> +#undef getpeername int ruby_getpeername(int s, struct sockaddr * name, socklen_t * namelen) @@ -21,6 +22,7 @@ ruby_getpeername(int s, struct sockaddr * name, return s; } +#undef getsockname int ruby_getsockname(int s, struct sockaddr * name, socklen_t * namelen) @@ -37,6 +39,7 @@ ruby_getsockname(int s, struct sockaddr * name, return s; } +#undef shutdown int ruby_shutdown(int s, int how) { @@ -52,12 +55,12 @@ ruby_shutdown(int s, int how) return s; } +#undef close int ruby_close(int s) { int err = errno; errno = 0; -#undef close s = close(s); if (errno == ECONNRESET) { errno = 0; |