commit-hurd
[Top][All Lists]
Advanced

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

[hurd] 01/02: fix a receiver lookup


From: Samuel Thibault
Subject: [hurd] 01/02: fix a receiver lookup
Date: Tue, 27 May 2014 08:32:08 +0000

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

sthibault pushed a commit to branch random
in repository hurd.

commit 8927fbd63e29005ddb9b2c2264046089bf669857
Author: Justus Winter <address@hidden>
Date:   Tue Apr 8 12:35:01 2014 +0200

    fix a receiver lookup
    
    * mig-decls.h: New file.
    * mig-mutate.h: Likewise.
    * Makefile (MIGSFLAGS): Use mig-mutate.h.
    * random.c (S_startup_dosync): Fix the receiver lookup.
---
 Makefile     |  1 +
 mig-decls.h  | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 mig-mutate.h | 25 +++++++++++++++++++++++++
 random.c     |  5 +----
 4 files changed, 74 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index 0949b63..6291da0 100644
--- a/Makefile
+++ b/Makefile
@@ -26,5 +26,6 @@ OBJS = $(SRCS:.c=.o) startup_notifyServer.o
 LCLHDRS = gnupg-random.h gnupg-rmd.h gnupg-bithelp.h random.h
 HURDLIBS = trivfs ports fshelp ihash shouldbeinlibc
 OTHERLIBS = -lpthread
+MIGSFLAGS = -DSEQNOS -imacros $(srcdir)/mig-mutate.h
 
 include ../Makeconf
diff --git a/mig-decls.h b/mig-decls.h
new file mode 100644
index 0000000..87b7eb2
--- /dev/null
+++ b/mig-decls.h
@@ -0,0 +1,47 @@
+/*
+   Copyright (C) 2014 Free Software Foundation, Inc.
+   Written by Justus Winter.
+
+   This file is part of the GNU Hurd.
+
+   The GNU Hurd is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2, or (at
+   your option) any later version.
+
+   The GNU Hurd is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with the GNU Hurd.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef __RANDOM_MIG_DECLS_H__
+#define __RANDOM_MIG_DECLS_H__
+
+#include <hurd/ports.h>
+
+typedef struct port_info *port_info_t;
+
+extern struct trivfs_control *fsys;
+extern struct port_class *shutdown_notify_class;
+
+/* Called by server stub functions.  */
+
+static inline struct port_info * __attribute__ ((unused))
+begin_using_startup_port (mach_port_t port)
+{
+  return ports_lookup_port (fsys->pi.bucket,
+                            handle,
+                            shutdown_notify_class);
+}
+
+static inline void __attribute__ ((unused))
+end_using_startup (struct port_info *p)
+{
+  if (p)
+    ports_port_deref (p);
+}
+
+#endif /* __RANDOM_MIG_DECLS_H__ */
diff --git a/mig-mutate.h b/mig-mutate.h
new file mode 100644
index 0000000..dab89e5
--- /dev/null
+++ b/mig-mutate.h
@@ -0,0 +1,25 @@
+/*
+   Copyright (C) 2014 Free Software Foundation, Inc.
+   Written by Justus Winter.
+
+   This file is part of the GNU Hurd.
+
+   The GNU Hurd is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2, or (at
+   your option) any later version.
+
+   The GNU Hurd is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with the GNU Hurd.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#define STARTUP_INTRAN                                         \
+  port_info_t begin_using_startup_port (mach_port_t)
+#define STARTUP_DESTRUCTOR                                     \
+  end_using_startup (port_info_t)
+#define STARTUP_IMPORTS                                                \
+  import "mig-decls.h";
diff --git a/random.c b/random.c
index 5ef814f..ca96358 100644
--- a/random.c
+++ b/random.c
@@ -524,11 +524,8 @@ struct port_class *shutdown_notify_class;
 /* The system is going down; destroy all the extant port rights.  That
    will cause net channels and such to close promptly.  */
 error_t
-S_startup_dosync (mach_port_t handle)
+S_startup_dosync (struct port_info *inpi)
 {
-  struct port_info *inpi = ports_lookup_port (fsys->pi.bucket, handle,
-                                             shutdown_notify_class);
-
   if (!inpi)
     return EOPNOTSUPP;
 

-- 
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]