enhanced qse_mux_poll() to accept QSE_NULL for timeout to wait indefinitely

made TcpServer more robust
This commit is contained in:
2018-06-28 14:07:35 +00:00
parent 20e042df0c
commit 8ce9ff41a0
5 changed files with 70 additions and 139 deletions

View File

@ -143,6 +143,7 @@ protected:
qse_mux_t* mux;
int mux_pipe[2];
SpinLock mux_pipe_spl;
Listener* head;
Listener* tail;
@ -189,7 +190,7 @@ protected:
int handle_client (Socket* sock, SocketAddress* addr)
{
return this->__lfunc(sock, addr);
return this->__lfunc(this, sock, addr);
}
};

View File

@ -77,7 +77,7 @@ enum qse_mux_evtmask_t
};
typedef enum qse_mux_evtmask_t qse_mux_evtmask_t;
typedef void (*qse_mux_evtfun_t) (
typedef void (*qse_mux_evtcb_t) (
qse_mux_t* mux,
const qse_mux_evt_t* evt
);
@ -96,7 +96,7 @@ extern "C" {
QSE_EXPORT qse_mux_t* qse_mux_open (
qse_mmgr_t* mmgr,
qse_size_t xtnsize,
qse_mux_evtfun_t evtfun,
qse_mux_evtcb_t evtcb,
qse_size_t capahint,
qse_mux_errnum_t* errnum
);