portlock.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:pykit 作者: baishancloud 项目源码 文件源码
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
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号