bug-hurd
[Top][All Lists]
Advanced

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

Re: settrans


From: Neal H Walfield
Subject: Re: settrans
Date: Wed, 17 Jan 2001 11:17:02 -0500
User-agent: Mutt/1.2.5i

Here are all the changes:


diff -rNu --exclude libtrivfs hurd-20000115/daemons/ChangeLog 
hurd/daemons/ChangeLog
--- hurd-20000115/daemons/ChangeLog     Tue Sep 28 09:17:24 1999
+++ hurd/daemons/ChangeLog      Wed Jan 17 01:47:53 2001
@@ -1,3 +1,8 @@
+2001-01-17  Neal H Walfield   <neal@cs.uml.edu>
+
+       * console-run.c (open_console): Conform to new
+       fshelp_start_translator symantics.       
+
 1999-09-23  Mark Kettenis  <kettenis@gnu.org>
 
        * getty.c (main): Report an error if login_tty failed.
diff -rNu --exclude libtrivfs hurd-20000115/daemons/console-run.c 
hurd/daemons/console-run.c
--- hurd-20000115/daemons/console-run.c Sat Sep 18 01:00:41 1999
+++ hurd/daemons/console-run.c  Wed Jan 17 01:16:38 2001
@@ -1,5 +1,5 @@
 /* Run a program on the console, trying hard to get the console open.
-   Copyright (C) 1999 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2001 Free Software Foundation, Inc.
 
    This file is part of the GNU Hurd.
 
@@ -112,7 +112,8 @@
 
       error_t open_node (int flags,
                         mach_port_t *underlying,
-                        mach_msg_type_name_t *underlying_type)
+                        mach_msg_type_name_t *underlying_type,
+                        task_t task, void *cookie)
        {
          term = file_name_lookup (termname, flags | O_CREAT|O_NOTRANS, 0666);
          if (term == MACH_PORT_NULL)
@@ -141,8 +142,8 @@
 
          /* The callback to start_translator opens TERM as a side effect.  */
          errno =
-           fshelp_start_translator (open_node, terminal, terminal, argz_len,
-                                    3000, &control);
+           fshelp_start_translator (open_node, NULL, terminal, terminal,
+                                    argz_len, 3000, &control);
          if (errno)
            {
              error (0, errno, "%s", terminal);
diff -rNu --exclude libtrivfs hurd-20000115/init/ChangeLog hurd/init/ChangeLog
--- hurd-20000115/init/ChangeLog        Sun Jan  7 12:05:41 2001
+++ hurd/init/ChangeLog Wed Jan 17 01:28:48 2001
@@ -1,3 +1,8 @@
+2001-01-17  Neal H Walfield  <neal@cs.uml.edu>
+
+       * init.c (open_console): Conform to new fshelp_start_translator
+       symantics.
+
 2000-12-21  Marcus Brinkmann  <marcus@gnu.org>
 
        * init.c (process_rc_script): If malloc fails, return ENOMEM.
diff -rNu --exclude libtrivfs hurd-20000115/init/init.c hurd/init/init.c
--- hurd-20000115/init/init.c   Sun Jan  7 12:05:41 2001
+++ hurd/init/init.c    Wed Jan 17 00:49:45 2001
@@ -800,7 +800,8 @@
 
       error_t open_node (int flags,
                         mach_port_t *underlying,
-                        mach_msg_type_name_t *underlying_type)
+                        mach_msg_type_name_t *underlying_type,
+                        task_t task, void *cookie)
        {
          term = file_name_lookup (termname, flags | O_CREAT|O_NOTRANS, 0666);
          if (term == MACH_PORT_NULL)
@@ -837,8 +838,8 @@
 
       /* The callback to start_translator opens TERM as a side effect.  */
       errno =
-       fshelp_start_translator (open_node, terminal, terminal, argz_len, 3000,
-                                &control);
+       fshelp_start_translator (open_node, NULL, terminal, terminal,
+                                argz_len, 3000, &control);
       if (errno)
        {
          error (0, errno, "%s", terminal);
diff -rNu --exclude libtrivfs hurd-20000115/libfshelp/ChangeLog 
hurd/libfshelp/ChangeLog
--- hurd-20000115/libfshelp/ChangeLog   Mon Mar 20 13:16:18 2000
+++ hurd/libfshelp/ChangeLog    Wed Jan 17 01:35:00 2001
@@ -1,3 +1,17 @@
+2001-01-17  Neal H Walfield  <neal@cs.uml.edu>
+
+       * fshelp.h: Add two new parameters to fshelp_open_fn_t:
+       a port to the new task and a cookie.
+       Add a new parameter, cookie, to fshelp_start_translator and 
+       fshelp_start_translator_long that will be passed to
+       fshelp_open_fn_t.
+
+       * fetch-root.c (fshelp_fetch_root): Conform to new
+       fshelp_start_translator_long symantics.
+       * start-translator-long.c (service_fsys_startup): Likewise.
+       (fshelp_start_translator_long): Likewise.
+       * start-translator.c (fshelp_start_translator): Likewise.
+
 2000-03-20  Roland McGrath  <roland@baalperazim.frob.com>
 
        * delegate.c (fshelp_delegate_translation): Add const to arg type.
diff -rNu --exclude libtrivfs hurd-20000115/libfshelp/fetch-root.c 
hurd/libfshelp/fetch-root.c
--- hurd-20000115/libfshelp/fetch-root.c        Fri Mar 17 12:21:24 2000
+++ hurd/libfshelp/fetch-root.c Wed Jan 17 00:45:34 2001
@@ -84,7 +84,8 @@
          return ret;
        }
       error_t fetch_underlying (int flags, mach_port_t *underlying,
-                               mach_msg_type_name_t *underlying_type)
+                               mach_msg_type_name_t *underlying_type,
+                               task_t task, void *cookie)
        {
          return
            (*callback2) (box->cookie, cookie, flags,
@@ -130,7 +131,7 @@
 
       fds[STDERR_FILENO] = reauth (getdport (STDERR_FILENO));
 
-      err = fshelp_start_translator_long (fetch_underlying,
+      err = fshelp_start_translator_long (fetch_underlying, NULL,
                                          argz, argz, argz_len,
                                          fds, MACH_MSG_TYPE_COPY_SEND,
                                          STDERR_FILENO + 1,
diff -rNu --exclude libtrivfs hurd-20000115/libfshelp/fshelp.h 
hurd/libfshelp/fshelp.h
--- hurd-20000115/libfshelp/fshelp.h    Mon Mar 20 13:16:00 2000
+++ hurd/libfshelp/fshelp.h     Wed Jan 17 00:07:24 2001
@@ -42,7 +42,8 @@
    returns the node port.  */
 typedef error_t (*fshelp_open_fn_t) (int flags,
                                     file_t *node,
-                                    mach_msg_type_name_t *node_type);
+                                    mach_msg_type_name_t *node_type,
+                                    task_t, void *cookie);
 
 /* Start a passive translator NAME with arguments ARGZ (length
    ARGZ_LEN).  Initialize the initports to PORTS (length PORTS_LEN),
@@ -54,7 +55,7 @@
    task's owner to OWNER_UID (or, if OWNER_UID is -1, then clear the
    new task's owner. */
 error_t
-fshelp_start_translator_long (fshelp_open_fn_t underlying_open_fn,
+fshelp_start_translator_long (fshelp_open_fn_t underlying_open_fn, void 
*cookie,
                              char *name, char *argz, int argz_len,
                              mach_port_t *fds,
                              mach_msg_type_name_t fds_type, int fds_len,
@@ -69,7 +70,7 @@
    are copied from our own state, fd[2] is copied from our own stderr,
    and the other fds are cleared.  */
 error_t
-fshelp_start_translator (fshelp_open_fn_t underlying_open_fn,
+fshelp_start_translator (fshelp_open_fn_t underlying_open_fn, void *cookie,
                         char *name, char *argz, int argz_len,
                         int timeout, fsys_t *control);
 
diff -rNu --exclude libtrivfs hurd-20000115/libfshelp/start-translator-long.c 
hurd/libfshelp/start-translator-long.c
--- hurd-20000115/libfshelp/start-translator-long.c     Mon Mar 13 19:57:27 2000
+++ hurd/libfshelp/start-translator-long.c      Wed Jan 17 00:06:59 2001
@@ -98,9 +98,9 @@
    translator died, and EDIED will be returned.  If an error occurs, the
    error code is returned, otherwise 0.  */
 static error_t
-service_fsys_startup (fshelp_open_fn_t underlying_open_fn,
-                     mach_port_t port, long timeout,
-                     fsys_t *control)
+service_fsys_startup (fshelp_open_fn_t underlying_open_fn, void *cookie,
+                     mach_port_t port, long timeout, fsys_t *control,
+                     task_t task)
 {
   error_t err;
   union
@@ -146,7 +146,8 @@
 
       reply.RetCode =
        (*underlying_open_fn) (request.startup.flags,
-                              &reply.realnode, &realnode_type);
+                              &reply.realnode, &realnode_type, task,
+                              cookie);
 
       reply.realnodeType = realnodeType;
       reply.realnodeType.msgt_name = realnode_type;
@@ -176,8 +177,8 @@
 
 error_t
 fshelp_start_translator_long (fshelp_open_fn_t underlying_open_fn,
-                             char *name, char *argz, int argz_len,
-                             mach_port_t *fds,
+                             void *cookie, char *name, char *argz,
+                             int argz_len, mach_port_t *fds,
                              mach_msg_type_name_t fds_type, int fds_len,
                              mach_port_t *ports,
                              mach_msg_type_name_t ports_type, int ports_len,
@@ -276,7 +277,8 @@
 
   /* Ok, cool, we've got a running(?) program, now rendezvous with it if
      possible using the startup protocol on the bootstrap port... */
-  err = service_fsys_startup(underlying_open_fn, bootstrap, timeout, control);
+  err = service_fsys_startup(underlying_open_fn, cookie, bootstrap,
+                            timeout, control, task);
 
  lose:
   if (!ports_moved)
diff -rNu --exclude libtrivfs hurd-20000115/libfshelp/start-translator.c 
hurd/libfshelp/start-translator.c
--- hurd-20000115/libfshelp/start-translator.c  Thu Oct  7 15:53:28 1999
+++ hurd/libfshelp/start-translator.c   Wed Jan 17 00:43:11 2001
@@ -25,8 +25,8 @@
 
 error_t
 fshelp_start_translator (fshelp_open_fn_t underlying_open_fn,
-                        char *name, char *argz, int argz_len,
-                        int timeout, fsys_t *control)
+                        void *cookie, char *name, char *argz,
+                        int argz_len, int timeout, fsys_t *control)
 {
   mach_port_t ports[INIT_PORT_MAX];
   mach_port_t fds[STDERR_FILENO + 1];
@@ -45,7 +45,7 @@
   ports[INIT_PORT_AUTH] = getauth ();
   fds[STDERR_FILENO] = getdport (STDERR_FILENO);
 
-  err = fshelp_start_translator_long (underlying_open_fn,
+  err = fshelp_start_translator_long (underlying_open_fn, cookie,
                                      name, argz, argz_len,
                                      fds, MACH_MSG_TYPE_COPY_SEND,
                                      STDERR_FILENO + 1,
diff -rNu --exclude libtrivfs hurd-20000115/libtreefs/trans-start.c 
hurd/libtreefs/trans-start.c
--- hurd-20000115/libtreefs/trans-start.c       Tue Apr 20 21:03:37 1999
+++ hurd/libtreefs/trans-start.c        Wed Jan 17 00:51:33 2001
@@ -57,7 +57,7 @@
 
   /* XXX this should use fshelp_start_translator_long. */
   err =
-    fshelp_start_translator (&node->active_trans, trans, trans_len,
+    fshelp_start_translator (&node->active_trans, NULL, trans, trans_len,
                             parent_port, node_port, uid, gid);
 
   treefs_node_auth_unref (node, auth);
diff -rNu --exclude libtrivfs hurd-20000115/trans/ChangeLog hurd/trans/ChangeLog
--- hurd-20000115/trans/ChangeLog       Sun Jan 14 15:44:27 2001
+++ hurd/trans/ChangeLog        Wed Jan 17 01:43:39 2001
@@ -1,3 +1,8 @@
+2001-01-17  Neal H Walfield  <neal@cs.uml.edu>
+
+       * pump.c (start_pfinet): Conform to new fshelp_start_translator
+       symantics.
+
 2001-01-13  Marcus Brinkmann  <marcus@gnu.org>
 
        * Makefile (SRCS): Add streamio.c
@@ -7,7 +12,7 @@
        (OBJS): Add missing object files to list (crashServer.o
        crash_replyUser.o msgServer.o device_replyServer.o).
 
-       * storeio.c: New file by OKUJI Yoshinori.
+       * steamio.c: New file by OKUJI Yoshinori.
 
 2000-07-26  Mark Kettenis  <kettenis@gnu.org>
 
diff -rNu --exclude libtrivfs hurd-20000115/trans/pump.c hurd/trans/pump.c
--- hurd-20000115/trans/pump.c  Fri Mar 17 12:26:16 2000
+++ hurd/trans/pump.c   Wed Jan 17 00:52:15 2001
@@ -235,7 +235,8 @@
 {
   error_t open_function (int flags,
                         mach_port_t *underlying,
-                        mach_msg_type_name_t *underlying_type)
+                        mach_msg_type_name_t *underlying_type,
+                        task_t task, void *cookie)
     {
       int err;
       
@@ -248,7 +249,7 @@
       return 0;
     }
   
-  err = fshelp_start_translator (open_function, 
+  err = fshelp_start_translator (open_function, NULL,
                                   _HURD_PFINET, argz, argz_len,
                                   60 * 1000, &control);
   if (err)
diff -rNu --exclude libtrivfs hurd-20000115/utils/ChangeLog hurd/utils/ChangeLog
--- hurd-20000115/utils/ChangeLog       Mon Jan  8 17:33:11 2001
+++ hurd/utils/ChangeLog        Wed Jan 17 01:47:11 2001
@@ -1,3 +1,12 @@
+2001-01-17  Neal H Walfield  <neal@cs.uml.edu>
+
+       * mount.c (do_mount): Conform to new fshelp_start_translator
+       symantics.       
+
+       * settrans.c (main): Conform to new fshelp_start_translator
+       symantics therby allowing us to print the pid of the an
+       active translator.
+
 2001-01-08  Marcus Brinkmann  <marcus@gnu.org>
 
        * storeread.c (main): Change type of addr to store_offset_t,
diff -rNu --exclude libtrivfs hurd-20000115/utils/mount.c hurd/utils/mount.c
--- hurd-20000115/utils/mount.c Fri Nov 19 00:10:29 1999
+++ hurd/utils/mount.c  Wed Jan 17 00:53:09 2001
@@ -284,7 +284,8 @@
       /* The callback to start_translator opens NODE as a side effect.  */
       error_t open_node (int flags,
                         mach_port_t *underlying,
-                        mach_msg_type_name_t *underlying_type)
+                        mach_msg_type_name_t *underlying_type,
+                        task_t task, void *cookie)
        {
          node = file_name_lookup (fs->mntent.mnt_dir,
                                   flags | O_NOTRANS, 0666);
@@ -331,7 +332,7 @@
       /* Now we have a translator command line argz in FSOPTS.  */
 
       explain ("settrans -a");
-      err = fshelp_start_translator (open_node, fsopts,
+      err = fshelp_start_translator (open_node, NULL, fsopts,
                                     fsopts, fsopts_len, timeout,
                                     &active_control);
       /* If ERR is due to a problem opening the translated node, we print
diff -rNu --exclude libtrivfs hurd-20000115/utils/settrans.c 
hurd/utils/settrans.c
--- hurd-20000115/utils/settrans.c      Tue Oct 20 04:44:20 1998
+++ hurd/utils/settrans.c       Wed Jan 17 11:09:38 2001
@@ -29,6 +29,7 @@
 #include <error.h>
 #include <argz.h>
 #include <hurd/fshelp.h>
+#include <hurd/process.h>
 #include <version.h>
 
 const char *argp_program_version = STANDARD_HURD_VERSION (settrans);
@@ -170,11 +171,13 @@
       /* The callback to start_translator opens NODE as a side effect.  */
       error_t open_node (int flags,
                         mach_port_t *underlying,
-                        mach_msg_type_name_t *underlying_type)
+                        mach_msg_type_name_t *underlying_type,
+                        task_t task, void *cookie)
        {
          if (pause)
            {
-             fprintf (stderr, "Pausing...");
+             fprintf (stderr, "Translator pid: %d\nPausing...", 
+                      task2pid (task));
              getchar ();
            }
 
@@ -190,8 +193,8 @@
 
          return 0;
        }
-      err = fshelp_start_translator (open_node, argz, argz, argz_len, timeout,
-                                    &active_control);
+      err = fshelp_start_translator (open_node, NULL, argz, argz, argz_len,
+                                    timeout, &active_control);
       if (err)
        /* If ERR is due to a problem opening the translated node, we print
           that name, otherwise, the name of the translator.  */

Attachment: pgpPjK1ZIgZyD.pgp
Description: PGP signature


reply via email to

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