def _lock(self):
if OS == 'Linux':
so = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
try:
addr = '\0/portlock/' + self.key
so.bind(addr)
self.socks[0] = so
logger.debug('success to bind: {addr}'.format(addr=addr))
except socket.error as e:
if e.errno == errno.EADDRINUSE:
logger.debug('failure to bind: {addr}'.format(addr=addr))
else:
raise
return
# other OS
for i in range(len(self.socks)):
addr = (self.addr[0], self.addr[1] + i)
so = self._socket()
try:
so.bind(addr)
self.socks[i] = so
logger.debug('success to bind: {addr}'.format(addr=addr))
except socket.error as e:
if e.errno == errno.EADDRINUSE:
logger.debug('failure to bind: {addr}'.format(addr=addr))
else:
raise
评论列表
文章目录