X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/948c96efa139d919e03cfa699d3d4a4258876d82..400be1374265b92185389dd0258dc5f24a31c606:/src/unix/gsocket.cpp diff --git a/src/unix/gsocket.cpp b/src/unix/gsocket.cpp index 9713fde61e..d7bb9362d3 100644 --- a/src/unix/gsocket.cpp +++ b/src/unix/gsocket.cpp @@ -87,6 +87,10 @@ int _System bsdselect(int, int _System soclose(int); # endif #endif +#ifdef __EMX__ +#include +#endif + #include #include #include @@ -113,6 +117,12 @@ int _System soclose(int); # endif #endif +#else + /* undefine for OSX - its really an int */ +# ifdef __DARWIN__ +# undef SOCKLEN_T +# define SOCKLEN_T int +# endif #endif /* SOCKLEN_T */ /* @@ -244,6 +254,7 @@ GSocket::GSocket() m_stream = true; m_gui_dependent = NULL; m_non_blocking = false; + m_reusable = false; m_timeout = 10*60*1000; /* 10 minutes * 60 sec * 1000 millisec */ m_establishing = false; @@ -467,11 +478,7 @@ GSocketError GSocket::SetServer() m_error = GSOCK_IOERR; return GSOCK_IOERR; } -#if defined(__EMX__) || defined(__VISAGECPP__) - ioctl(m_fd, FIONBIO, (char*)&arg, sizeof(arg)); -#else ioctl(m_fd, FIONBIO, &arg); -#endif gs_gui_functions->Enable_Events(this); /* allow a socket to re-bind if the socket is in the TIME_WAIT @@ -913,7 +920,7 @@ GSocketEventFlags GSocket::Select(GSocketEventFlags flags) /* Do not use a static struct, Linux can garble it */ tv.tv_sec = m_timeout / 1000; - tv.tv_usec = (m_timeout % 1000) / 1000; + tv.tv_usec = (m_timeout % 1000) * 1000; FD_ZERO(&readfds); FD_ZERO(&writefds); @@ -1698,7 +1705,11 @@ GSocketError GAddress_INET_SetPortName(GAddress *address, const char *port, return GSOCK_INVPORT; } +#if defined(__WXPM__) && defined(__EMX__) + se = getservbyname(port, (char*)protocol); +#else se = getservbyname(port, protocol); +#endif if (!se) { /* the cast to int suppresses compiler warnings about subscript having the