Only respond to watches that originated from xswatch. diff -r ec03b24a2d83 tools/python/xen/xend/xenstore/xswatch.py --- a/tools/python/xen/xend/xenstore/xswatch.py Tue Aug 15 19:53:55 2006 +0100 +++ b/tools/python/xen/xend/xenstore/xswatch.py Mon Aug 28 11:04:43 2006 -0700 @@ -63,9 +63,10 @@ def watchMain(): try: we = xs.read_watch() watch = we[1] - res = watch.fn(we[0], *watch.args, **watch.kwargs) - if not res: - watch.unwatch() + if watch.__class__ == xswatch: + res = watch.fn(we[0], *watch.args, **watch.kwargs) + if not res: + watch.unwatch() except: log.exception("read_watch failed") # Ignore this exception -- there's no point throwing it