summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1997-11-12 03:39:57 +0000
committerGurusamy Sarathy <gsar@cpan.org>1997-11-12 03:39:57 +0000
commit3a25acb49073f2e27090ba463a25de8bf4748c3f (patch)
treec53a6124f1ad66bff61273a025b8183f9582bc84
parent326b05e39df78c03a667485573aed70a9080cab0 (diff)
downloadperl-3a25acb49073f2e27090ba463a25de8bf4748c3f.tar.gz
Add missing win32_closesocket() and export it (extension writers' complaint).
p4raw-id: //depot/win32/perl@239
-rw-r--r--win32/include/sys/socket.h1
-rw-r--r--win32/makedef.pl1
-rw-r--r--win32/win32sck.c12
3 files changed, 13 insertions, 1 deletions
diff --git a/win32/include/sys/socket.h b/win32/include/sys/socket.h
index 9e5259b254..487f9d5877 100644
--- a/win32/include/sys/socket.h
+++ b/win32/include/sys/socket.h
@@ -115,6 +115,7 @@ void win32_endservent(void);
#define recv win32_recv
#define recvfrom win32_recvfrom
#define shutdown win32_shutdown
+#define closesocket win32_closesocket
#define ioctlsocket win32_ioctlsocket
#define setsockopt win32_setsockopt
#define getsockopt win32_getsockopt
diff --git a/win32/makedef.pl b/win32/makedef.pl
index e39874211a..8925a2c57c 100644
--- a/win32/makedef.pl
+++ b/win32/makedef.pl
@@ -351,6 +351,7 @@ win32_sendto
win32_recv
win32_recvfrom
win32_shutdown
+win32_closesocket
win32_ioctlsocket
win32_setsockopt
win32_getsockopt
diff --git a/win32/win32sck.c b/win32/win32sck.c
index 27ae06063e..a0fad00386 100644
--- a/win32/win32sck.c
+++ b/win32/win32sck.c
@@ -33,6 +33,7 @@
#undef recv
#undef recvfrom
#undef shutdown
+#undef closesocket
#undef ioctlsocket
#undef setsockopt
#undef getsockopt
@@ -382,15 +383,24 @@ win32_shutdown(SOCKET s, int how)
return r;
}
+int
+win32_closesocket(SOCKET s)
+{
+ int r;
+
+ SOCKET_TEST_ERROR(r = closesocket(TO_SOCKET(s)));
+ return r;
+}
+
SOCKET
win32_socket(int af, int type, int protocol)
{
SOCKET s;
- StartSockets();
#ifndef USE_SOCKETS_AS_HANDLES
SOCKET_TEST(s = socket(af, type, protocol), INVALID_SOCKET);
#else
+ StartSockets();
if((s = socket(af, type, protocol)) == INVALID_SOCKET)
errno = WSAGetLastError();
else