#ifdefs for wxUSE_THREADS

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2379 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
1999-05-09 21:40:34 +00:00
parent 3358d36e06
commit ba9838b991

View File

@@ -84,6 +84,7 @@
// --------- SocketWaiter --------------------------------------- // --------- SocketWaiter ---------------------------------------
// -------------------------------------------------------------- // --------------------------------------------------------------
#if wxUSE_THREADS
SocketWaiter::SocketWaiter(wxSocketBase *socket, SocketWaiter::SocketWaiter(wxSocketBase *socket,
wxSocketInternal *internal) wxSocketInternal *internal)
: m_socket(socket), m_internal(internal), m_fd(internal->GetFD()) : m_socket(socket), m_internal(internal), m_fd(internal->GetFD())
@@ -314,6 +315,7 @@ void *SocketRequester::Entry()
} }
return NULL; return NULL;
} }
#endif
// -------------------------------------------------------------- // --------------------------------------------------------------
// --------- wxSocketInternal ----------------------------------- // --------- wxSocketInternal -----------------------------------
@@ -322,19 +324,23 @@ void *SocketRequester::Entry()
wxSocketInternal::wxSocketInternal(wxSocketBase *socket) wxSocketInternal::wxSocketInternal(wxSocketBase *socket)
{ {
m_socket = socket; m_socket = socket;
#if wxUSE_THREADS
m_thread_requester = NULL; m_thread_requester = NULL;
m_thread_waiter = NULL; m_thread_waiter = NULL;
m_invalid_requester = TRUE; m_invalid_requester = TRUE;
m_request_locker.Lock(); m_request_locker.Lock();
#endif
} }
wxSocketInternal::~wxSocketInternal() wxSocketInternal::~wxSocketInternal()
{ {
#if wxUSE_THREADS
StopRequester(); StopRequester();
wxASSERT(m_thread_requester == NULL); wxASSERT(m_thread_requester == NULL);
StopWaiter(); StopWaiter();
wxASSERT(m_thread_waiter == NULL); wxASSERT(m_thread_waiter == NULL);
m_request_locker.Unlock(); m_request_locker.Unlock();
#endif
} }
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
@@ -343,6 +349,7 @@ wxSocketInternal::~wxSocketInternal()
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
SockRequest *wxSocketInternal::WaitForReq() SockRequest *wxSocketInternal::WaitForReq()
{ {
#if wxUSE_THREADS
wxNode *node; wxNode *node;
node = m_requests.First(); node = m_requests.First();
@@ -355,6 +362,9 @@ SockRequest *wxSocketInternal::WaitForReq()
} }
return (SockRequest *)node->Data(); return (SockRequest *)node->Data();
#else
return NULL;
#endif
} }
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
@@ -373,16 +383,21 @@ void wxSocketInternal::EndRequest(SockRequest *req)
void wxSocketInternal::AcquireFD() void wxSocketInternal::AcquireFD()
{ {
#if wxUSE_THREADS
m_fd_locker.Lock(); m_fd_locker.Lock();
#endif
} }
void wxSocketInternal::ReleaseFD() void wxSocketInternal::ReleaseFD()
{ {
#if wxUSE_THREADS
m_fd_locker.Unlock(); m_fd_locker.Unlock();
#endif
} }
void wxSocketInternal::ResumeRequester() void wxSocketInternal::ResumeRequester()
{ {
#if wxUSE_THREADS
wxThreadError err; wxThreadError err;
wxASSERT(m_thread_requester == NULL); wxASSERT(m_thread_requester == NULL);
@@ -403,10 +418,12 @@ void wxSocketInternal::ResumeRequester()
m_invalid_requester = FALSE; m_invalid_requester = FALSE;
} }
m_end_requester.Unlock(); m_end_requester.Unlock();
#endif
} }
void wxSocketInternal::StopRequester() void wxSocketInternal::StopRequester()
{ {
#if wxUSE_THREADS
if (m_invalid_requester) { if (m_invalid_requester) {
delete m_thread_requester; delete m_thread_requester;
m_thread_requester = NULL; m_thread_requester = NULL;
@@ -429,10 +446,12 @@ void wxSocketInternal::StopRequester()
delete m_thread_requester; delete m_thread_requester;
m_thread_requester = NULL; m_thread_requester = NULL;
#endif
} }
void wxSocketInternal::ResumeWaiter() void wxSocketInternal::ResumeWaiter()
{ {
#if wxUSE_THREADS
wxThreadError err; wxThreadError err;
if (m_thread_waiter != NULL) if (m_thread_waiter != NULL)
@@ -446,10 +465,12 @@ void wxSocketInternal::ResumeWaiter()
err = m_thread_waiter->Run(); err = m_thread_waiter->Run();
wxASSERT(err == wxTHREAD_NO_ERROR); wxASSERT(err == wxTHREAD_NO_ERROR);
#endif
} }
void wxSocketInternal::StopWaiter() void wxSocketInternal::StopWaiter()
{ {
#if wxUSE_THREADS
if (m_thread_waiter == NULL) if (m_thread_waiter == NULL)
return; return;
@@ -457,6 +478,7 @@ void wxSocketInternal::StopWaiter()
delete m_thread_waiter; delete m_thread_waiter;
m_thread_waiter = NULL; m_thread_waiter = NULL;
#endif
} }
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
@@ -464,6 +486,7 @@ void wxSocketInternal::StopWaiter()
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
void wxSocketInternal::QueueRequest(SockRequest *request, bool async) void wxSocketInternal::QueueRequest(SockRequest *request, bool async)
{ {
#if wxUSE_THREADS
if (async) { if (async) {
if (m_thread_requester == NULL) if (m_thread_requester == NULL)
ResumeRequester(); ResumeRequester();
@@ -508,11 +531,14 @@ void wxSocketInternal::QueueRequest(SockRequest *request, bool async)
request->done = TRUE; request->done = TRUE;
m_request_locker.Unlock(); m_request_locker.Unlock();
} }
#endif
} }
void wxSocketInternal::WaitForEnd(SockRequest *request) void wxSocketInternal::WaitForEnd(SockRequest *request)
{ {
#if wxUSE_THREADS
// TODOTODO // TODOTODO
#endif
} }
#endif #endif