tj / axon

message-oriented socket library for node.js heavily inspired by zeromq
MIT License
1.5k stars 155 forks source link

`fs.unlink()` is used as if it was synchronous when deleting a stale UNIX socket #167

Open matteomonti opened 6 years ago

matteomonti commented 6 years ago

In lib/sockets/sock.js, line 385, you handle the case of a pre-existing UNIX socket: you check if it's stale by connecting and if it is you delete it. However, in order to do that, you call fs.unlink(port), which is an asynchronous function.

This results in a deprecation error and possibly undefined behavior.

You might want to either switch to fs.unlinkSync or provide a callback to fs.unlink and move self.server.listen(port, host, fn) to the callback.