#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:
@@ -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
|
||||||
|
Reference in New Issue
Block a user