X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fio-layer%2Fsockets.c;h=60429573c07f8f6e66f4b37aa6d0a80aa8428b74;hb=ca327b1162f17986d5c41c1ac1dd3aec6c89744b;hp=a659d3763e80bdf39e8a7758d740738c36e937c1;hpb=c9afd924fdbe70a69ab9960c379f280ecbb3a778;p=mono.git diff --git a/mono/io-layer/sockets.c b/mono/io-layer/sockets.c index a659d3763e8..60429573c07 100644 --- a/mono/io-layer/sockets.c +++ b/mono/io-layer/sockets.c @@ -45,11 +45,13 @@ #include #include -#include #include #ifdef HAVE_SYS_SENDFILE_H #include #endif +#ifdef HAVE_NETDB_H +#include +#endif #if 0 #define DEBUG(...) g_message(__VA_ARGS__) @@ -346,7 +348,7 @@ int _wapi_connect(guint32 fd, const struct sockaddr *serv_addr, } fds.fd = fd; - fds.events = POLLOUT; + fds.events = MONO_POLLOUT; while (mono_poll (&fds, 1, -1) == -1 && !_wapi_thread_cur_apc_pending ()) { if (errno != EINTR) { @@ -778,6 +780,10 @@ int _wapi_setsockopt(guint32 fd, int level, int optname, gpointer handle = GUINT_TO_POINTER (fd); int ret; const void *tmp_val; +#if defined (__linux__) + /* This has its address taken so it cannot be moved to the if block which uses it */ + int bufsize = 0; +#endif struct timeval tv; if (startup_count == 0) { @@ -805,7 +811,7 @@ int _wapi_setsockopt(guint32 fd, int level, int optname, * buffer sizes "to allow space for bookkeeping * overhead." */ - int bufsize = *((int *) optval); + bufsize = *((int *) optval); bufsize /= 2; tmp_val = &bufsize; @@ -976,45 +982,6 @@ guint32 _wapi_socket(int domain, int type, int protocol, void *unused, return(fd); } -struct hostent *_wapi_gethostbyname(const char *hostname) -{ - struct hostent *he; - - if (startup_count == 0) { - WSASetLastError (WSANOTINITIALISED); - return(NULL); - } - - he = gethostbyname (hostname); - if (he == NULL) { - DEBUG ("%s: gethostbyname error: %s", __func__, - strerror (h_errno)); - - switch(h_errno) { - case HOST_NOT_FOUND: - WSASetLastError (WSAHOST_NOT_FOUND); - break; -#if NO_ADDRESS != NO_DATA - case NO_ADDRESS: -#endif - case NO_DATA: - WSASetLastError (WSANO_DATA); - break; - case NO_RECOVERY: - WSASetLastError (WSANO_RECOVERY); - break; - case TRY_AGAIN: - WSASetLastError (WSATRY_AGAIN); - break; - default: - g_warning ("%s: Need to translate %d into winsock error", __func__, h_errno); - break; - } - } - - return(he); -} - static gboolean socket_disconnect (guint32 fd) { struct _WapiHandle_socket *socket_handle;