When the session expires your only option is to create a new session and
re-register the watches, re-create ephemerals, etc...
When used Zookeeper in my project, I noticed a problem about the
session. When a session expired, the io thread of the client just return,
void *do_io(void *v)
However, in my scenario, I want to reconnect to the Zookeeper Server and
recover the watcher which have been set for the last session. How to do
it? Just close the last zookeeper handler and init a new one, and add
all the watchers again? Is there a more efficient way?