bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RFC PATCH tarfs 2/6] Link to libpager and initialize it on startup


From: Sergey Bugaev
Subject: [RFC PATCH tarfs 2/6] Link to libpager and initialize it on startup
Date: Thu, 29 Apr 2021 21:57:12 +0300

---
 Makefile |  2 +-
 main.c   | 12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index e3936bfda..6e2eb422e 100644
--- a/Makefile
+++ b/Makefile
@@ -29,7 +29,7 @@ CFLAGS += -DDEBUG_ZIP # zip stores debugging
 # Note: -lz has to be first otherwise inflate() will be the exec server's
 #       inflate function
 LDFLAGS = -L~ -lz -L. -lnetfs -lfshelp -liohelp -lports \
-          -lihash -lshouldbeinlibc -lpthread -lstore -lbz2
+          -lihash -lshouldbeinlibc -lpthread -lstore -lbz2 -lpager
 CTAGS   = ctags
 
 SRC     = main.c netfs.c tarfs.c tarlist.c fs.c cache.c tar.c names.c \
diff --git a/main.c b/main.c
index 68268013f..90286de08 100644
--- a/main.c
+++ b/main.c
@@ -19,6 +19,7 @@
 #include <hurd.h>
 #include <hurd/netfs.h>
 #include <hurd/paths.h>
+#include <hurd/pager.h>
 #include <argp.h>
 #include <errno.h>
 #include <error.h>
@@ -40,6 +41,8 @@ mach_port_t ul_node;
 /* Has to be defined for libnetfs...  */
 int netfs_maxsymlinks = 2;
 
+struct port_bucket *tarfs_pager_bucket;
+
 /* Main.  */
 int
 main (int argc, char **argv)
@@ -47,6 +50,7 @@ main (int argc, char **argv)
   struct argp fs_argp;
   mach_port_t bootstrap_port;
   struct iouser *user;
+  struct pager_requests *pager_requests;
   error_t err;
 
   /* Defaults to tarfs. */
@@ -68,6 +72,14 @@ main (int argc, char **argv)
     error (EXIT_FAILURE, err, "cannot create root node");
   ul_node = netfs_startup (bootstrap_port, 0);
 
+  /* Init libpager. */
+  tarfs_pager_bucket = ports_create_bucket ();
+  if (!tarfs_pager_bucket)
+    error (EXIT_FAILURE, errno, "cannot create port bucket");
+  err = pager_start_workers (tarfs_pager_bucket, &pager_requests);
+  if (err)
+    error (1, err, "cannot start libpager");
+
   for (;;)
     netfs_server_loop ();
 
-- 
2.31.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]