71 FXMAPTYPE(0, FXThreadEvent::onThreadEvent),
72 FXMAPFUNC(
SEL_THREAD, 0, FXThreadEvent::onThreadEvent),
81 FXint res = pipe(event);
86 event = CreateEvent(NULL, FALSE, FALSE, NULL);
87 FXASSERT(event != NULL);
93 FXThreadEvent::~FXThreadEvent() {
95 getApp()->removeInput(event[
PIPE_READ], INPUT_READ);
96 ::close(event[PIPE_READ]);
100 getApp()->removeInput(event, INPUT_READ);
101 ::CloseHandle(event);
107 void FXThreadEvent::signal() {
110 ::write(event[
PIPE_WRITE], &seltype,
sizeof(seltype));
118 void FXThreadEvent::signal(FXuint seltype) {
120 ::write(event[
PIPE_WRITE], &seltype,
sizeof(seltype));
130 long FXThreadEvent::onThreadSignal(FXObject*, FXSelector,
void*) {
133 ::read(event[
PIPE_READ], &seltype,
sizeof(seltype));
137 handle(
this, FXSEL(seltype, 0), NULL);
143 long FXThreadEvent::onThreadEvent(FXObject*, FXSelector sel,
void*) {
144 FXuint seltype = FXSELTYPE(sel);
145 return target && target->handle(
this, FXSEL(seltype, message), NULL);
ID for message passing between threads.
FXInputHandle * FXThreadEventHandle
#define UNUSED_PARAMETER(x)
FXDEFMAP(FXRealSpinDialDial) FXSpinDialMap[]