示例#1
0
        private void Add(int linux_fd, int expressos_fd, short event_type)
        {
            if (linux_fd < 0)
            {
                return;
            }

            var r    = fdlist;
            var prev = r;

            while (r != null && r.linux_fd < linux_fd)
            {
                prev = r;
                r    = r.next;
            }

            if (r != null && r.linux_fd == linux_fd)
            {
                r.event_type |= event_type;
            }
            else
            {
                var n = new FdMapNode(linux_fd, expressos_fd, event_type);
                ++TotalFds;
                n.next    = prev.next;
                prev.next = n;
            }
        }
示例#2
0
 internal SelectHelper()
 {
     fdlist = new FdMapNode(0, 0, 0);
 }
示例#3
0
        private void Add(int linux_fd, int expressos_fd, short event_type)
        {
            if (linux_fd < 0)
                return;

            var r = fdlist;
            var prev = r;
            while (r != null && r.linux_fd < linux_fd)
            {
                prev = r;
                r = r.next;
            }

            if (r != null && r.linux_fd == linux_fd)
            {
                r.event_type |= event_type;
            }
            else
            {
                var n = new FdMapNode(linux_fd, expressos_fd, event_type);
                ++TotalFds;
                n.next = prev.next;
                prev.next = n;
            }
        }
示例#4
0
 internal SelectHelper()
 {
     fdlist = new FdMapNode(0, 0, 0);
 }