/inotify-cxx/trunk/inotify-cxx.cpp |
---|
270,7 → 270,7 |
IN_WRITE_END |
} |
void InotifyWatch::OnOneshotEvent() |
void InotifyWatch::__Disable() |
{ |
IN_WRITE_BEGIN |
446,8 → 446,9 |
InotifyWatch* pW = FindWatch(pEvt->wd); |
if (pW != NULL) { |
InotifyEvent evt(pEvt, pW); |
if (InotifyEvent::IsType(pW->GetMask(), IN_ONESHOT)) |
pW->OnOneshotEvent(); |
if ( InotifyEvent::IsType(pW->GetMask(), IN_ONESHOT) |
|| InotifyEvent::IsType(evt.GetMask(), IN_IGNORED)) |
pW->__Disable(); |
m_events.push_back(evt); |
} |
i += INOTIFY_EVENT_SIZE + (ssize_t) pEvt->len; |
/inotify-cxx/trunk/CHANGELOG |
---|
1,6 → 1,11 |
0.6.3 2007-01-06 |
* incorrect behavior for IN_IGNORED fixed (#0000124) |
0.6.2 2007-01-03 |
* bad IN_MOVE_SELF dumping in IN_ALL_EVENTS fixed (#0000118) |
0.6.1 2006-12-30 |
* fixed incorrect behavior for IN_ONESHOT (#0000113) |
/inotify-cxx/trunk/inotify-cxx.h |
---|
503,13 → 503,13 |
IN_LOCK_DECL |
/// Disables the watch (if it has the one-shot flag). |
/// Disables the watch (due to removing by the kernel). |
/** |
* This method must be called after receiving an event. |
* It ensures the watch object is consistent with the kernel |
* data. |
*/ |
void OnOneshotEvent(); |
void __Disable(); |
}; |