summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2014-04-09 12:32:51 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2014-04-09 12:32:51 +0200
commit67a09295447f16176256db37233235164a23c7fc (patch)
treeb7b0d9112c9c8ccd8845d7b8876d829cd55a765b /debian
parentb421d7ad794a170ad452aca25c735319954cff35 (diff)
rm notify-fix-receiver-lookups.patch
Diffstat (limited to 'debian')
-rw-r--r--debian/patches/notify-fix-receiver-lookups.patch408
-rw-r--r--debian/patches/series1
2 files changed, 0 insertions, 409 deletions
diff --git a/debian/patches/notify-fix-receiver-lookups.patch b/debian/patches/notify-fix-receiver-lookups.patch
deleted file mode 100644
index 1632be39..00000000
--- a/debian/patches/notify-fix-receiver-lookups.patch
+++ /dev/null
@@ -1,408 +0,0 @@
-commit e9687ec4ff525ae4a88314ba4ae97da770bd012f
-Author: Justus Winter <4winter@informatik.uni-hamburg.de>
-Date: Sat Apr 5 17:40:24 2014 +0200
-
- libports: fix notify_port_t receiver lookups
-
- * libports/Makefile (MIGSFLAGS): Include mig-mutate.h.
- * libports/mig-decls.h: New file.
- * libports/mig-mutate.h: Likewise.
- * libports/notify-dead-name.c: Fix receiver lookups.
- * libports/notify-no-senders.c: Likewise.
- * libports/notify-msg-accepted.c: Adjust function declaration.
- * libports/notify-port-deleted.c: Likewise.
- * libports/notify-port-destroyed.c: Likewise.
- * libports/notify-send-once.c: Likewise.
- * libports/ports.h: Likewise.
- * proc/Makefile (MIGSFLAGS): Include mig-mutate.h, move PROCESS mutators...
- * proc/mig-mutate.h: ... into a new file, add NOTIFY mutators.
- * proc/notify.c: Fix receiver lookups, adjust function declarations.
- * term/devio.c (ports_do_mach_notify_send_once): Adjust accordingly.
-
-diff --git a/libports/Makefile b/libports/Makefile
-index 767ee73..30da1c1 100644
---- a/libports/Makefile
-+++ b/libports/Makefile
-@@ -45,5 +45,6 @@ LDLIBS += -lpthread
- OBJS = $(SRCS:.c=.o) notifyServer.o interruptServer.o
-
- MIGCOMSFLAGS = -prefix ports_
-+MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h
-
- include ../Makeconf
-diff --git a/libports/mig-decls.h b/libports/mig-decls.h
-new file mode 100644
-index 0000000..f8c4f15
---- /dev/null
-+++ b/libports/mig-decls.h
-@@ -0,0 +1,40 @@
-+/*
-+ 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 __LIBPORTS_MIG_DECLS_H__
-+#define __LIBPORTS_MIG_DECLS_H__
-+
-+#include "ports.h"
-+
-+/* Called by server stub functions. */
-+
-+static inline struct port_info * __attribute__ ((unused))
-+begin_using_port_info_port (mach_port_t port)
-+{
-+ return ports_lookup_port (0, port, 0);
-+}
-+
-+static inline void __attribute__ ((unused))
-+end_using_port_info (struct port_info *p)
-+{
-+ if (p)
-+ ports_port_deref (p);
-+}
-+
-+#endif /* __LIBPORTS_MIG_DECLS_H__ */
-diff --git a/libports/mig-mutate.h b/libports/mig-mutate.h
-new file mode 100644
-index 0000000..f692236
---- /dev/null
-+++ b/libports/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 NOTIFY_INTRAN \
-+ port_info_t begin_using_port_info_port (mach_port_t)
-+#define NOTIFY_DESTRUCTOR \
-+ end_using_port_info (port_info_t)
-+#define NOTIFY_IMPORTS \
-+ import "libports/mig-decls.h";
-diff --git a/libports/notify-dead-name.c b/libports/notify-dead-name.c
-index c67145d..f974e33 100644
---- a/libports/notify-dead-name.c
-+++ b/libports/notify-dead-name.c
-@@ -22,13 +22,12 @@
- #include "notify_S.h"
-
- error_t
--ports_do_mach_notify_dead_name (mach_port_t notify, mach_port_t dead_name)
-+ports_do_mach_notify_dead_name (struct port_info *pi,
-+ mach_port_t dead_name)
- {
-- void *pi = ports_lookup_port (0, notify, 0);
- if (!pi)
- return EOPNOTSUPP;
- ports_dead_name (pi, dead_name);
-- ports_port_deref (pi);
-
- /* Drop gratuitous extra reference that the notification creates. */
- mach_port_deallocate (mach_task_self (), dead_name);
-diff --git a/libports/notify-msg-accepted.c b/libports/notify-msg-accepted.c
-index c975083..0e49715 100644
---- a/libports/notify-msg-accepted.c
-+++ b/libports/notify-msg-accepted.c
-@@ -22,7 +22,8 @@
- #include "notify_S.h"
-
- error_t
--ports_do_mach_notify_msg_accepted (mach_port_t notify, mach_port_t name)
-+ports_do_mach_notify_msg_accepted (struct port_info *pi,
-+ mach_port_t name)
- {
- return 0;
- }
-diff --git a/libports/notify-no-senders.c b/libports/notify-no-senders.c
-index dc9b316..55aa853 100644
---- a/libports/notify-no-senders.c
-+++ b/libports/notify-no-senders.c
-@@ -22,12 +22,11 @@
- #include "notify_S.h"
-
- error_t
--ports_do_mach_notify_no_senders (mach_port_t port, mach_port_mscount_t count)
-+ports_do_mach_notify_no_senders (struct port_info *pi,
-+ mach_port_mscount_t count)
- {
-- void *pi = ports_lookup_port (0, port, 0);
- if (!pi)
- return EOPNOTSUPP;
- ports_no_senders (pi, count);
-- ports_port_deref (pi);
- return 0;
- }
-diff --git a/libports/notify-port-deleted.c b/libports/notify-port-deleted.c
-index 85012af..cfd3379 100644
---- a/libports/notify-port-deleted.c
-+++ b/libports/notify-port-deleted.c
-@@ -22,7 +22,8 @@
- #include "notify_S.h"
-
- error_t
--ports_do_mach_notify_port_deleted (mach_port_t notify, mach_port_t name)
-+ports_do_mach_notify_port_deleted (struct port_info *pi,
-+ mach_port_t name)
- {
- return 0;
- }
-diff --git a/libports/notify-port-destroyed.c b/libports/notify-port-destroyed.c
-index 78eaf21..b8ece2a 100644
---- a/libports/notify-port-destroyed.c
-+++ b/libports/notify-port-destroyed.c
-@@ -22,7 +22,8 @@
- #include "notify_S.h"
-
- error_t
--ports_do_mach_notify_port_destroyed (mach_port_t notify, mach_port_t name)
-+ports_do_mach_notify_port_destroyed (struct port_info *pi,
-+ mach_port_t name)
- {
- return 0;
- }
-diff --git a/libports/notify-send-once.c b/libports/notify-send-once.c
-index 09ffcf2..ad0ba33 100644
---- a/libports/notify-send-once.c
-+++ b/libports/notify-send-once.c
-@@ -22,7 +22,7 @@
- #include "notify_S.h"
-
- error_t
--ports_do_mach_notify_send_once (mach_port_t notify)
-+ports_do_mach_notify_send_once (struct port_info *pi)
- {
- return 0;
- }
-diff --git a/libports/ports.h b/libports/ports.h
-index 0791841..47d4607 100644
---- a/libports/ports.h
-+++ b/libports/ports.h
-@@ -50,6 +50,8 @@ struct port_info
- hurd_ihash_locp_t hentry;
- struct port_info *next, **prevp; /* links on port_class list */
- };
-+typedef struct port_info *port_info_t;
-+
- /* FLAGS above are the following: */
- #define PORT_HAS_SENDRIGHTS 0x0001 /* send rights extant */
- #define PORT_INHIBITED PORTS_INHIBITED
-@@ -383,13 +385,19 @@ void ports_interrupt_notified_rpcs (void *object, mach_port_t port,
- int ports_notify_server (mach_msg_header_t *, mach_msg_header_t *);
-
- /* Notification server routines called by ports_notify_server. */
--extern kern_return_t ports_do_mach_notify_dead_name (mach_port_t notify, mach_port_t deadport);
--extern kern_return_t ports_do_mach_notify_msg_accepted (mach_port_t notify, mach_port_t name);
--extern kern_return_t ports_do_mach_notify_no_senders (mach_port_t port, mach_port_mscount_t count);
--extern kern_return_t ports_do_mach_notify_port_deleted (mach_port_t notify, mach_port_t name);
--extern kern_return_t ports_do_mach_notify_port_destroyed (mach_port_t notify, mach_port_t name);
- extern kern_return_t
-- ports_do_mach_notify_send_once (mach_port_t notify);
-+ ports_do_mach_notify_dead_name (struct port_info *pi, mach_port_t deadport);
-+extern kern_return_t
-+ ports_do_mach_notify_msg_accepted (struct port_info *pi, mach_port_t name);
-+extern kern_return_t
-+ ports_do_mach_notify_no_senders (struct port_info *pi,
-+ mach_port_mscount_t count);
-+extern kern_return_t
-+ ports_do_mach_notify_port_deleted (struct port_info *pi, mach_port_t name);
-+extern kern_return_t
-+ ports_do_mach_notify_port_destroyed (struct port_info *pi, mach_port_t name);
-+extern kern_return_t
-+ ports_do_mach_notify_send_once (struct port_info *pi);
-
- /* A default interrupt server */
- int ports_interrupt_server (mach_msg_header_t *, mach_msg_header_t *);
-diff --git a/proc/Makefile b/proc/Makefile
-index 2eed13c..aa31ffb 100644
---- a/proc/Makefile
-+++ b/proc/Makefile
-@@ -24,9 +24,7 @@ target = proc
- SRCS = wait.c hash.c host.c info.c main.c mgt.c notify.c pgrp.c msg.c \
- cpu-types.c stubs.c
-
--MIGSFLAGS="-DPROCESS_INTRAN=pstruct_t reqport_find (process_t)" \
-- "-DPROCESS_DESTRUCTOR=process_drop (pstruct_t)" \
-- "-DPROCESS_IMPORTS=import \"proc.h\";"
-+MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h
-
- MIGSTUBS = processServer.o notifyServer.o \
- ourmsgUser.o proc_excUser.o proc_excServer.o
-diff --git a/proc/mig-mutate.h b/proc/mig-mutate.h
-new file mode 100644
-index 0000000..ad6eb32
---- /dev/null
-+++ b/proc/mig-mutate.h
-@@ -0,0 +1,33 @@
-+/*
-+ 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 PROCESS_INTRAN \
-+ pstruct_t reqport_find (process_t)
-+#define PROCESS_DESTRUCTOR \
-+ process_drop (pstruct_t)
-+#define PROCESS_IMPORTS \
-+ import "proc.h";
-+
-+#define NOTIFY_INTRAN \
-+ port_info_t begin_using_port_info_port (mach_port_t)
-+#define NOTIFY_DESTRUCTOR \
-+ end_using_port_info (port_info_t)
-+#define NOTIFY_IMPORTS \
-+ import "libports/mig-decls.h";
-diff --git a/proc/notify.c b/proc/notify.c
-index 5a112b0..b6731ae 100644
---- a/proc/notify.c
-+++ b/proc/notify.c
-@@ -36,33 +36,33 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
- message ports die. Both notifications get sent to the process
- port. */
- kern_return_t
--do_mach_notify_dead_name (mach_port_t notify,
-+do_mach_notify_dead_name (struct port_info *pi,
- mach_port_t deadport)
- {
- struct proc *p;
-
-- if (notify == generic_port)
-+ if (pi->port_right == generic_port)
- {
- check_dead_execdata_notify (deadport);
- mach_port_deallocate (mach_task_self (), deadport);
- return 0;
- }
-
-- p = ports_lookup_port (proc_bucket, notify, proc_class);
-+ p = (struct proc *) pi;
-
-- if (!p)
-+ if (!p
-+ || p->p_pi.bucket != proc_bucket
-+ || p->p_pi.class != proc_class)
- return EOPNOTSUPP;
-
- if (p->p_task == deadport)
- {
- process_has_exited (p);
-- ports_port_deref (p);
- mach_port_deallocate (mach_task_self (), deadport);
- return 0;
- }
- else
- {
-- ports_port_deref (p);
- return EINVAL;
- }
- }
-@@ -70,35 +70,35 @@ do_mach_notify_dead_name (mach_port_t notify,
- /* We get no-senders notifications on exception ports that we
- handle through proc_handle_exceptions. */
- kern_return_t
--do_mach_notify_no_senders (mach_port_t notify,
-+do_mach_notify_no_senders (struct port_info *pi,
- mach_port_mscount_t mscount)
- {
-- return ports_do_mach_notify_no_senders (notify, mscount);
-+ return ports_do_mach_notify_no_senders (pi, mscount);
- }
-
- kern_return_t
--do_mach_notify_port_deleted (mach_port_t notify,
-+do_mach_notify_port_deleted (struct port_info *pi,
- mach_port_t name)
- {
- return 0;
- }
-
- kern_return_t
--do_mach_notify_msg_accepted (mach_port_t notify,
-+do_mach_notify_msg_accepted (struct port_info *pi,
- mach_port_t name)
- {
- return 0;
- }
-
- kern_return_t
--do_mach_notify_port_destroyed (mach_port_t notify,
-+do_mach_notify_port_destroyed (struct port_info *pi,
- mach_port_t name)
- {
- return 0;
- }
-
- kern_return_t
--do_mach_notify_send_once (mach_port_t notify)
-+do_mach_notify_send_once (struct port_info *pi)
- {
- return 0;
- }
-diff --git a/term/devio.c b/term/devio.c
-index 7c7d8fd..eedd7b8 100644
---- a/term/devio.c
-+++ b/term/devio.c
-@@ -731,18 +731,18 @@ device_write_reply (mach_port_t replyport,
- }
-
- error_t
--ports_do_mach_notify_send_once (mach_port_t notify)
-+ports_do_mach_notify_send_once (struct port_info *pi)
- {
- error_t err;
-
- pthread_mutex_lock (&global_lock);
-
-- if (notify == phys_reply_writes)
-+ if (pi->port_right == phys_reply_writes)
- {
- err = 0;
- devio_start_output ();
- }
-- else if (notify == phys_reply)
-+ else if (pi->port_right == phys_reply)
- {
- if (input_pending)
- {
diff --git a/debian/patches/series b/debian/patches/series
index 403c8cc2..b1195786 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -43,5 +43,4 @@ xxx-fix-build.patch
mach-defpager-protected-payload.patch
#ext2fs-skip-unallocated-blocks.patch
-notify-fix-receiver-lookups.patch
init_drop_setbuf.patch