class FChange::Notifier
def read_events
- Private: -
def read_events # can return WAIT_TIMEOUT = 0x00000102 dwWaitStatus = Native.WaitForMultipleObjects(@dwChangeHandles.count, @lp_dwChangeHandles, 0, 500) events = [] # this call blocks all threads completely. @dwChangeHandles.each_index do |index| if dwWaitStatus == WAIT_OBJECT_0 + index ev = Event.new(@watchers[@dwChangeHandles[index]]) events << ev r = Native.FindNextChangeNotification(@dwChangeHandles[index]) if r == 0 raise SystemCallError.new("Failed to watch", r) end end end events end