51 FXIMPLEMENT(
FXSingleEventThread, FXObject, FXSingleEventThreadMap, ARRAYNUMBER(FXSingleEventThreadMap))
56 : FXObject(), myClient(client) {
60 FXint res = pipe(event);
65 event = CreateEvent(
nullptr, FALSE, FALSE,
nullptr);
66 FXASSERT(event != NULL);
74 myApp->removeInput(event[
PIPE_READ], INPUT_READ);
75 ::close(event[PIPE_READ]);
79 myApp->removeInput(event, INPUT_READ);
89 FXint res = ::write(event[
PIPE_WRITE], &seltype,
sizeof(seltype));
101 FXint res = ::write(event[
PIPE_WRITE], &seltype,
sizeof(seltype));
113 FXint res = ::read(event[
PIPE_READ], &seltype,
sizeof(seltype));
119 handle(
this, sel,
nullptr);
126 myClient->eventOccurred();
143 long long us = ms * 1000;
FXInputHandle * FXThreadEventHandle
long onThreadEvent(FXObject *, FXSelector, void *)
#define UNUSED_PARAMETER(x)
static void sleep(long ms)
FXDEFMAP(FXBaseObject) FXBaseObjectMap[]
ID for message passing between threads.
virtual ~FXSingleEventThread()
long onThreadSignal(FXObject *, FXSelector, void *)