view tests/test-inotify-issue1542.t @ 16354:9f98fe05ecf1 stable

inotify: catch SignalInterrupt during shutdown (issue3351) When inotify.repowatcher.shutdown() is called, mercurial.error.SignalInterrupt exception is thrown by mercurial.dispatch._runcatch.catchterm(), therefore socketlistener.shutdown() is not called. Catching this allows cleanup action (removing the socket file) to proceed.
author Thomas Arendsen Hein <thomas@intevation.de>
date Wed, 04 Apr 2012 10:57:48 +0200
parents 92b2c876a79d
children f7c4eb60b0c3
line wrap: on
line source


  $ "$TESTDIR/hghave" inotify || exit 80
  $ hg init
  $ touch a
  $ mkdir dir
  $ touch dir/b
  $ touch dir/c
  $ echo "[extensions]" >> $HGRCPATH
  $ echo "inotify=" >> $HGRCPATH
  $ hg add dir/c

inserve

  $ hg inserve -d --pid-file=hg.pid 2>&1
  $ cat hg.pid >> "$DAEMON_PIDS"
  $ hg st
  A dir/c
  ? a
  ? dir/b
  ? hg.pid

moving dir out

  $ mv dir ../tmp-test-inotify-issue1542

status

  $ hg st
  ! dir/c
  ? a
  ? hg.pid
  $ sleep 1

Are we able to kill the service? if not, the service died on some error

  $ kill `cat hg.pid`