Create the server pipes on the client side and transfer them to the
server on thread creation.
Use a single per-process socket instead of one per thread for
transferring file handles between client and server.
diff --git a/server/file.c b/server/file.c
index 0ce961a..75b1dd8 100644
--- a/server/file.c
+++ b/server/file.c
@@ -487,7 +487,7 @@
else if (!get_error())
{
if ((fd = obj->ops->get_fd( obj )) != -1)
- send_client_fd( current, fd, req->handle );
+ send_client_fd( current->process, fd, req->handle );
}
release_object( obj );
}