void fdevent_set(fdevent *fde, unsigned events) { events &= FDE_EVENTMASK; if((fde->state & FDE_EVENTMASK) == (int)events) return; if(fde->state & FDE_ACTIVE) { fdevent_update(fde, events); dump_fde(fde, "update"); } fde->state = (fde->state & FDE_STATEMASK) | events; if(fde->state & FDE_PENDING) { /* if we're pending, make sure ** we don't signal an event that ** is no longer wanted. */ fde->events &= (~events); if(fde->events == 0) { fdevent_plist_remove(fde); fde->state &= (~FDE_PENDING); } } }
void fdevent_set(fdevent *fde, unsigned events) { printf("function = %s, file = %s, line = %u \n", __FUNCTION__, __FILE__, __LINE__); events &= FDE_EVENTMASK; if((fde->state & FDE_EVENTMASK) == events) return; if(fde->state & FDE_ACTIVE) { fdevent_update(fde, events); dump_fde(fde, "update"); } fde->state = (fde->state & FDE_STATEMASK) | events; if(fde->state & FDE_PENDING) { /* if we're pending, make sure ** we don't signal an event that ** is no longer wanted. */ fde->events &= (~events); if(fde->events == 0) { fdevent_plist_remove(fde); fde->state &= (~FDE_PENDING); } } }
void fdevent_set(fdevent* fde, unsigned events) { events &= FDE_EVENTMASK; if ((fde->state & FDE_EVENTMASK) == events) { return; } CHECK(fde->state & FDE_ACTIVE); fdevent_update(fde, events); D("fdevent_set: %s, events = %u", dump_fde(fde).c_str(), events); if (fde->state & FDE_PENDING) { // If we are pending, make sure we don't signal an event that is no longer wanted. fde->events &= events; if (fde->events == 0) { g_pending_list.remove(fde); fde->state &= ~FDE_PENDING; } } }