From: Guilhem Lavaux Date: Tue, 27 Jul 1999 17:22:30 +0000 (+0000) Subject: Changed void GSocket_Init() to bool GSocket_Init() X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/31989b0b8fb7fc2d484c762f55400f4b16e97028 Changed void GSocket_Init() to bool GSocket_Init() git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3168 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/gsocket.h b/include/wx/gsocket.h index 19e89e34ed..5cf897619a 100644 --- a/include/wx/gsocket.h +++ b/include/wx/gsocket.h @@ -76,7 +76,7 @@ extern "C" { /* Global initialisers */ /* GSocket_Init() must be called at the beginning */ -void GSocket_Init(); +bool GSocket_Init(); /* GSocket_Cleanup() must be called at the ending */ void GSocket_Cleanup(); diff --git a/src/common/socket.cpp b/src/common/socket.cpp index b06e2490fb..810f2491bf 100644 --- a/src/common/socket.cpp +++ b/src/common/socket.cpp @@ -912,8 +912,7 @@ class WXDLLEXPORT wxSocketModule: public wxModule { DECLARE_DYNAMIC_CLASS(wxSocketModule) public: bool OnInit() { - GSocket_Init(); - return TRUE; + return GSocket_Init(); } void OnExit() { GSocket_Cleanup(); diff --git a/src/unix/gsocket.c b/src/unix/gsocket.c index c4b51b9aa5..86711be599 100644 --- a/src/unix/gsocket.c +++ b/src/unix/gsocket.c @@ -34,7 +34,6 @@ #endif #include -/* #include */ #include "wx/setup.h" #include "wx/gsocket.h" @@ -54,8 +53,9 @@ /* Global initialisers */ -void GSocket_Init() +bool GSocket_Init() { + return TRUE; } void GSocket_Cleanup() @@ -84,6 +84,7 @@ GSocket *GSocket_new() socket->m_gui_dependent = NULL; socket->m_blocking = FALSE; + /* We initialize the GUI specific entries here */ _GSocket_GUI_Init(socket); return socket; @@ -93,17 +94,21 @@ void GSocket_destroy(GSocket *socket) { assert(socket != NULL); + /* First, we check that the socket is really shutdowned */ if (socket->m_fd != -1) GSocket_Shutdown(socket); + /* We destroy GUI specific variables */ _GSocket_GUI_Destroy(socket); + /* We destroy private addresses */ if (socket->m_local) GAddress_destroy(socket->m_local); if (socket->m_peer) GAddress_destroy(socket->m_peer); + /* We destroy socket itself */ free(socket); } @@ -113,12 +118,14 @@ void GSocket_Shutdown(GSocket *socket) assert(socket != NULL); + /* If socket has been created, we shutdown it */ if (socket->m_fd != -1) { shutdown(socket->m_fd, 2); close(socket->m_fd); socket->m_fd = -1; } + /* We also disable GUI callbacks */ for (evt=0;evtm_fd != -1 && !socket->m_server)) + if ((socket->m_fd != -1 && !socket->m_server)) { + socket->m_error = GSOCK_INVSOCK; return GSOCK_INVSOCK; + } - if (address == NULL || address->m_family == GSOCK_NOFAMILY) + if (address == NULL || address->m_family == GSOCK_NOFAMILY) { + socket->m_error = GSOCK_INVADDR; return GSOCK_INVADDR; + } if (socket->m_local) GAddress_destroy(socket->m_local); @@ -566,7 +577,6 @@ int _GSocket_Recv_Stream(GSocket *socket, char *buffer, int size) int _GSocket_Recv_Dgram(GSocket *socket, char *buffer, int size) { struct sockaddr from; - SOCKLEN_T fromlen; int ret;