diff options
Diffstat (limited to 'deps/node/deps/npm/node_modules/lockfile/sockets.md')
-rw-r--r-- | deps/node/deps/npm/node_modules/lockfile/sockets.md | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/deps/node/deps/npm/node_modules/lockfile/sockets.md b/deps/node/deps/npm/node_modules/lockfile/sockets.md new file mode 100644 index 00000000..89b60eeb --- /dev/null +++ b/deps/node/deps/npm/node_modules/lockfile/sockets.md @@ -0,0 +1,27 @@ +to ACQUIRE(lockname) +- create server, listen on lockname + - if enotsock, WATCH(lockname) + - if eaddrinuse, + - CONNECT(lockname) + - unref server + - lock has been acquired via server + ! on connection, place sockets in queue + +to RELEASE(lockname) +- if acquired via connection + - disconnect +- if acquired via server + - send "OK" to front-most connection + - when connection disconnects, RELEASE(lockname) +- if acquired via filename + - unlink file + +to CONNECT(lockname) +- net.connect(lockname) + - if enoent or socket termination, ACQUIRE(lockname) + - when server says "OK", + - lock has been acquired via connection + +to WATCH(lockname) +- fs.watch(lockname) +- on change, ACQUIRE(lockname) |