THere maybe multiple wait operation in different components of bhyve (e.g. rfb, sock)
In original implementation, each wait operation will block the main thread thus
we can not connect to the socket in arbitrary order. Moreover, the actual
order depends on the argument order pass to the bhyve program
To better address this, we should add a rendezvous layer that can wait
all component at the same time