|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I changed the code to also loop through watch->notifies when
removing the watch due to inotify, and NULL each notify->watch
reference, the code then checks this before trying to delete
the watch itself if asked to remove the notify.
In order to prevent other race conditions in this area I also
made the inotify code not pass a watch to emit_events_in_idle,
as the watch may get freed in the meantime. It instead passes
the wd and the emit loop looks up the watch, discarding the
event if the watch has been removed.
I did however leave in the code that checks for a removed watch
before doing anything with inotify, as I hoped that this would
just optimise this case.
|