Mercurial > hg > octave-nkf > gnulib-hg
changeset 11765:4b822ff432cf
Implicitly initialize the sockets library.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sun, 02 Aug 2009 16:43:55 +0200 |
parents | 57245c9661b9 |
children | 79c5d61fe46d |
files | ChangeLog lib/gethostname.c lib/socket.c modules/gethostname modules/socket tests/test-poll.c tests/test-select.c |
diffstat | 7 files changed, 29 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2009-08-02 Bruno Haible <bruno@clisp.org> + + Implicitly initialize the sockets library. + * lib/gethostname.c: Include sockets.h. + (rpl_gethostname): Invoke gl_sockets_startup. + * lib/socket.c: Include sockets.h. + (rpl_socket): Invoke gl_sockets_startup. + * modules/gethostname (Depends-on): Add sockets. + * modules/socket (Depends-on): Likewise. + * tests/test-poll.c: Don't include sockets.h. + (main): Don't invoke gl_sockets_startup. + * tests/test-select.c: Don't include sockets.h. + (main): Don't invoke gl_sockets_startup. + 2009-08-02 Bruno Haible <bruno@clisp.org> Allow multiple calls to gl_sockets_startup.
--- a/lib/gethostname.c +++ b/lib/gethostname.c @@ -82,6 +82,8 @@ /* Get set_winsock_errno. */ #include "w32sock.h" +#include "sockets.h" + #undef gethostname int @@ -91,6 +93,7 @@ if (len > INT_MAX) len = INT_MAX; + gl_sockets_startup (SOCKETS_1_1); r = gethostname (name, (int) len); if (r < 0) set_winsock_errno ();
--- a/lib/socket.c +++ b/lib/socket.c @@ -1,6 +1,6 @@ /* socket.c --- wrappers for Windows socket function - Copyright (C) 2008 Free Software Foundation, Inc. + Copyright (C) 2008-2009 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -26,12 +26,18 @@ /* Get set_winsock_errno, FD_TO_SOCKET etc. */ #include "w32sock.h" +#include "sockets.h" + int rpl_socket (int domain, int type, int protocol) { + SOCKET fh; + + gl_sockets_startup (SOCKETS_1_1); + /* We have to use WSASocket() to create non-overlapped IO sockets. Overlapped IO sockets cannot be used with read/write. */ - SOCKET fh = WSASocket (domain, type, protocol, NULL, 0, 0); + fh = WSASocket (domain, type, protocol, NULL, 0, 0); if (fh == INVALID_SOCKET) {
--- a/modules/gethostname +++ b/modules/gethostname @@ -10,6 +10,7 @@ unistd sys_socket errno +sockets configure.ac: gl_FUNC_GETHOSTNAME
--- a/modules/socket +++ b/modules/socket @@ -8,6 +8,7 @@ Depends-on: sys_socket errno +sockets configure.ac: AC_REQUIRE([gl_HEADER_SYS_SOCKET])
--- a/tests/test-poll.c +++ b/tests/test-poll.c @@ -1,5 +1,5 @@ /* Test of poll() function. - Copyright (C) 2008 Free Software Foundation, Inc. + Copyright (C) 2008-2009 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,7 +30,6 @@ #include <stdbool.h> #include <sys/ioctl.h> #include <errno.h> -#include "sockets.h" #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ # define WIN32_NATIVE @@ -360,8 +359,6 @@ { int result; - gl_sockets_startup (SOCKETS_1_1); - #ifdef INTERACTIVE printf ("Please press Enter\n"); test (test_tty, "TTY");
--- a/tests/test-select.c +++ b/tests/test-select.c @@ -1,5 +1,5 @@ /* Test of select() substitute. - Copyright (C) 2008 Free Software Foundation, Inc. + Copyright (C) 2008-2009 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,7 +29,6 @@ #include <stdbool.h> #include <sys/ioctl.h> #include <errno.h> -#include "sockets.h" enum { SEL_IN = 1, SEL_OUT = 2, SEL_EXC = 4 }; @@ -360,8 +359,6 @@ { int result; - gl_sockets_startup (SOCKETS_1_1); - #ifdef INTERACTIVE printf ("Please press Enter\n"); test (test_tty, "TTY");