Fix a non-tail call in the dispatcher.

A watch event would trigger a non-tail-recursive call, which would
blow the default 10M stack after ~170000 watches.

Signed-off-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>