diff --git a/hgext/inotify/linuxserver.py b/hgext/inotify/linuxserver.py --- a/hgext/inotify/linuxserver.py +++ b/hgext/inotify/linuxserver.py @@ -397,7 +397,7 @@ class socketlistener(server.socketlisten self.register(timeout=timeout) def handle_timeout(self): - pass + raise server.TimeoutException def handle_pollevents(self, events): for e in events: diff --git a/hgext/inotify/server.py b/hgext/inotify/server.py --- a/hgext/inotify/server.py +++ b/hgext/inotify/server.py @@ -19,6 +19,8 @@ import tempfile class AlreadyStartedException(Exception): pass +class TimeoutException(Exception): + pass def join(a, b): if a: @@ -444,9 +446,11 @@ else: master = _server.master def start(ui, dirstate, root, opts): - timeout = opts.get('timeout') + timeout = opts.get('idle_timeout') if timeout: - timeout = float(timeout) * 1e3 + timeout = float(timeout) * 60000 + else: + timeout = None class service(object): def init(self): @@ -457,7 +461,10 @@ def start(ui, dirstate, root, opts): def run(self): try: - self.master.run() + try: + self.master.run() + except TimeoutException: + pass finally: self.master.shutdown()