};
class wxSocketInternal;
+
+#if wxUSE_THREADS
class SocketWaiter: public wxThread {
public:
SocketWaiter(wxSocketBase *socket, wxSocketInternal *internal);
wxSocketInternal *m_internal;
int m_fd;
};
+#endif
+ // wxUSE_THREADS
class wxSocketInternal {
public:
void ReleaseFD();
int GetFD() { return m_fd; }
+ void SetFD(int fd) { m_fd = fd; }
void ResumeWaiter();
void StopWaiter();
SockRequest *WaitForReq();
void EndRequest(SockRequest *req);
public:
+ wxSocketBase *m_socket;
+#if wxUSE_THREADS
wxMutex m_socket_locker, m_fd_locker, m_request_locker, m_end_requester;
wxCondition m_socket_cond;
- wxSocketBase *m_socket;
SocketWaiter *m_thread_waiter;
SocketRequester *m_thread_requester;
+#endif
wxList m_requests;
int m_fd;
bool m_invalid_requester;