Example #1
0
        public static void HandleSocketCompletion(SocketCompletion c, int ret)
        {
            var current = c.thr;

            if (ret < 0)
            {
                current.ReturnFromCompletion(ret);
                return;
            }

            var proc = current.Parent;

            var inode = new SocketINode(ret, proc.helperPid);
            var file  = new File(proc, inode, FileFlags.ReadWriteMask, 0);

            var fd = proc.GetUnusedFd();

            proc.InstallFd(fd, file);
            current.ReturnFromCompletion(fd);
        }
Example #2
0
        public static void HandleSocketCompletion(SocketCompletion c, int ret)
        {
            var current = c.thr;
            if (ret < 0)
            {
                current.ReturnFromCompletion(ret);
                return;
            }

            var proc = current.Parent;

            var inode = new SocketINode(ret, proc.helperPid);
            var file = new File(proc, inode, FileFlags.ReadWriteMask, 0);

            var fd = proc.GetUnusedFd();
            proc.InstallFd(fd, file);
            current.ReturnFromCompletion(fd);
        }