dual-controller switch works basically.

the bugs exist: 1. accept()  blocks forever, so module unload fails.