From: Daira Hopwood <daira@jacaranda.org>
Date: Wed, 18 Mar 2015 00:47:40 +0000 (+0000)
Subject: WIP: workaround for duplicate events on Windows. refs #2220
X-Git-Url: https://git.rkrishnan.org/vdrive/(%5B%5E?a=commitdiff_plain;h=9315bdf09784ab4076590a8dfab9951a36ffd04a;p=tahoe-lafs%2Ftahoe-lafs.git

WIP: workaround for duplicate events on Windows. refs #2220

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
---

diff --git a/src/allmydata/windows/inotify.py b/src/allmydata/windows/inotify.py
index 51d80f14..1a719f9a 100644
--- a/src/allmydata/windows/inotify.py
+++ b/src/allmydata/windows/inotify.py
@@ -254,21 +254,20 @@ class INotify(PollMixin):
                         return
 
                     path = self._path.preauthChild(info.filename)  # FilePath with Unicode path
-                    mask = _action_to_inotify_mask.get(info.action, IN_CHANGED)
+                    #mask = _action_to_inotify_mask.get(info.action, IN_CHANGED)
 
-                    def _maybe_notify(path, mask):
-                        event = (path, mask)
-                        if event not in self._pending:
-                            self._pending.add(event)
+                    def _maybe_notify(path):
+                        if path not in self._pending:
+                            self._pending.add(path)
                             def _do_callbacks():
-                                self._pending.remove(event)
+                                self._pending.remove(path)
                                 for cb in self._callbacks:
                                     try:
-                                        cb(None, path, mask)
+                                        cb(None, path, IN_CHANGED)
                                     except Exception, e:
                                         log.err(e)
                             reactor.callLater(self._pending_delay, _do_callbacks)
-                    reactor.callFromThread(_maybe_notify, path, mask)
+                    reactor.callFromThread(_maybe_notify, path)
         except Exception, e:
             log.err(e)
             self._state = STOPPED