[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 04/23] proc: add a payload-aware intrans function
From: |
Justus Winter |
Subject: |
[PATCH 04/23] proc: add a payload-aware intrans function |
Date: |
Fri, 29 Nov 2013 01:03:32 +0100 |
* proc/Makefile (MIGSFLAGS): Add mutator.
* proc/hash.c (reqport_find_payload): New function.
* proc/proc.h (reqport_find_payload): New declaration.
---
proc/Makefile | 1 +
proc/hash.c | 10 ++++++++++
proc/proc.h | 1 +
3 files changed, 12 insertions(+)
diff --git a/proc/Makefile b/proc/Makefile
index 2eed13c..e7fe834 100644
--- a/proc/Makefile
+++ b/proc/Makefile
@@ -25,6 +25,7 @@ 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_INTRAN_PAYLOAD=pstruct_t reqport_find_payload" \
"-DPROCESS_DESTRUCTOR=process_drop (pstruct_t)" \
"-DPROCESS_IMPORTS=import \"proc.h\";"
diff --git a/proc/hash.c b/proc/hash.c
index ed670a1..959bc62 100644
--- a/proc/hash.c
+++ b/proc/hash.c
@@ -87,6 +87,16 @@ reqport_find (mach_port_t reqport)
return (!p || p->p_dead) ? 0 : p;
}
+struct proc *
+reqport_find_payload (unsigned long payload)
+{
+ struct proc *p;
+ p = ports_lookup_payload (proc_bucket, payload, proc_class);
+ if (p && ! p->p_dead)
+ ports_port_deref (p);
+ return (!p || p->p_dead) ? 0 : p;
+}
+
/* Find the process group corresponding to a given pgid. */
struct pgrp *
pgrp_find (pid_t pgid)
diff --git a/proc/proc.h b/proc/proc.h
index 12f56da..21eeda2 100644
--- a/proc/proc.h
+++ b/proc/proc.h
@@ -183,6 +183,7 @@ struct proc *task_find (task_t);
struct proc *task_find_nocreate (task_t);
struct pgrp *pgrp_find (int);
struct proc *reqport_find (mach_port_t);
+struct proc *reqport_find_payload (unsigned long);
struct session *session_find (pid_t);
void exc_clean (void *);
--
1.7.10.4
- [PATCH 1/5] Advise flex not to generate the input function, (continued)
- [PATCH 1/5] Advise flex not to generate the input function, Justus Winter, 2013/11/28
- [PATCH] Drop the auto keyword, Justus Winter, 2013/11/28
- [PATCH 4/5] Clean up generated sources, Justus Winter, 2013/11/28
- [PATCH 2/5] Avoid a compiler warning in WriteDefines, Justus Winter, 2013/11/28
- [PATCH 3/5] Add inTransPayload, Justus Winter, 2013/11/28
- [PATCH 5/5] Use inTransPayload, Justus Winter, 2013/11/28
- [PATCH 01/23] trans: fix the receiver lookup in password, Justus Winter, 2013/11/28
- [PATCH 02/23] proc: fix the receiver lookup in S_proc_exception_raise, Justus Winter, 2013/11/28
- [PATCH 03/23] libports: add ports_lookup_payload, Justus Winter, 2013/11/28
- [PATCH 04/23] proc: add a payload-aware intrans function,
Justus Winter <=
- [PATCH 05/23] console: add a payload-aware intrans function, Justus Winter, 2013/11/28
- [PATCH 07/23] libnetfs: add a payload-aware intrans function, Justus Winter, 2013/11/28
- [PATCH 06/23] libdiskfs: add a payload-aware intrans function, Justus Winter, 2013/11/28
- [PATCH 10/23] exec: add intranspayload, Justus Winter, 2013/11/28
- [PATCH 08/23] libtrivfs: add a payload-aware intrans functions, Justus Winter, 2013/11/28
- [PATCH 09/23] libcons: add a payload-aware intrans function, Justus Winter, 2013/11/28
- [PATCH 11/23] pfinet: add a payload-aware intrans functions, Justus Winter, 2013/11/28
- [PATCH 13/23] auth: add a payload-aware intrans function, Justus Winter, 2013/11/28
- [PATCH 12/23] pflocal: add a payload-aware intrans functions, Justus Winter, 2013/11/28
- [PATCH 14/23] trans: add a payload-aware intrans function to password, Justus Winter, 2013/11/28