106,107c106,108
< if (::listen(fd, 1) == -1)
< panic("ListenSocket(listen): listen() failed!");
---
> if (::listen(fd, 1) == -1) {
> if (errno != EADDRINUSE)
> panic("ListenSocket(listen): listen() failed!");
109c110,111
< listening = true;
---
> return false;
> }
110a113
> listening = true;