need to refactor server accept to allow clean termination
use boost