£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyʦ•ꎅȮFÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~芩ÊǍí`ÔÑ©ú뙵'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶êםӼ㞪éUWŸÈË%DÒÕ¬ï‘]/Åcx ‰ï2ß]ä6G[]S£Ôϯrs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ ¯¹ægƒÛowЍø^d™ý½ßB7áyMä9ÜÖUã !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 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)