commit-hurd
[Top][All Lists]
Advanced

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

[hurd] 11/23: trans/new-fifo: convert to trivfs dynamic classes and buck


From: Samuel Thibault
Subject: [hurd] 11/23: trans/new-fifo: convert to trivfs dynamic classes and buckets
Date: Tue, 13 Oct 2015 00:09:55 +0000

This is an automated email from the git hooks/post-receive script.

sthibault pushed a commit to branch upstream
in repository hurd.

commit 125f08eea403724713cea1c79913cc7d26406a07
Author: Justus Winter <address@hidden>
Date:   Sun Sep 27 23:34:20 2015 +0200

    trans/new-fifo: convert to trivfs dynamic classes and buckets
    
    libtrivfs contains two ways of managing more than one port class and
    bucket.  There is the old way of using a statically allocated array
    with explicit length, and the new way with dynamically allocated
    vectors.
    
    Converting all users to the new way of handling multiple classes
    and/or buckets, we can simplify the code in libtrivfs.  In many cases,
    the code will be simpler and more expressive for the user.
    
    This also fixes a mild bug.  The classes and buckets given to
    `trivfs_startup' end up in the dynamic vectors too, making the object
    lookup code use the more complicated code path.
    
    * trans/new-fifo.c: Convert to dynamic classes and buckets.
---
 trans/new-fifo.c | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/trans/new-fifo.c b/trans/new-fifo.c
index e71c95c..0ceb842 100644
--- a/trans/new-fifo.c
+++ b/trans/new-fifo.c
@@ -176,13 +176,6 @@ fifo_trans_parse_args (struct fifo_trans *trans, int argc, 
char **argv,
   return argp_parse (&argp, argc, argv, print_errs ? 0 : ARGP_SILENT, 0, 0);
 }
 
-/* ---------------------------------------------------------------- */
-
-struct port_class *trivfs_protid_portclasses[2];
-struct port_class *trivfs_cntl_portclasses[1];
-int trivfs_protid_nportclasses = 2;
-int trivfs_cntl_nportclasses = 1;
-
 int
 main (int argc, char **argv)
 {
@@ -215,14 +208,21 @@ main (int argc, char **argv)
        exit (0);
     }
 
-  port_bucket = ports_create_bucket ();
-  fifo_port_class =  ports_create_class (trivfs_clean_protid, 0);
-  server_port_class =  ports_create_class (trivfs_clean_protid, 0);
-  fsys_port_class = ports_create_class (clean_fsys, 0);
+  err = trivfs_add_port_bucket (&port_bucket);
+  if (err)
+    error (1, 0, "error creating port bucket");
+
+  err = trivfs_add_control_port_class (&fsys_port_class);
+  if (err)
+    error (1, 0, "error creating control port class");
+
+  err = trivfs_add_protid_port_class (&fifo_port_class);
+  if (err)
+    error (1, 0, "error creating protid port class");
 
-  trivfs_protid_portclasses[0] = fifo_port_class;
-  trivfs_protid_portclasses[1] = server_port_class;
-  trivfs_cntl_portclasses[0] = fsys_port_class;
+    err = trivfs_add_protid_port_class (&server_port_class);
+  if (err)
+    error (1, 0, "error creating protid port class");
 
   /* Reply to our parent */
   fifo_trans_start (trans, bootstrap);

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-hurd/hurd.git



reply via email to

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