lifetime.py 文件源码

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

项目:aquests 作者: hansroh 项目源码 文件源码
def remove_notsocks (map):
    global _select_errors, _logger

    # on Windows we can get WSAENOTSOCK if the client
    # rapidly connect and disconnects
    killed = 0
    for fd, obj in list(map.items()):   
        r = []; w = []; e = []  
        is_r = obj.readable()
        is_w = obj.writable()
        if is_r:
            r = [fd]
        # accepting sockets should not be writable
        if is_w and not obj.accepting:
            w = [fd]
        if is_r or is_w:
            e = [fd]

        try:            
            select.select (r, w, e, 0)          

        except:
            #_logger and _logger.trace ()           
            killed += 1
            _select_errors += 1

            try:
                try: obj.handle_expt ()
                except: obj.handle_error ()
            except:
                _logger and _logger.trace ()

            try: del map [fd]
            except KeyError: pass

    return killed
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号