PERFORCE change 161798 for review
Marko Zec
zec at FreeBSD.org
Sat May 9 01:25:07 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=161798
Change 161798 by zec at zec_tpx32 on 2009/05/09 01:24:23
Add an exception to allow for a process running in one vimage
to receive signals from processes running in child vimages that
it is waiting on, but only when the processes in the child
vimage is exiting.
Affected files ...
.. //depot/projects/vimage-commit2/src/sys/kern/kern_prot.c#9 edit
.. //depot/projects/vimage-commit2/src/sys/kern/kern_vimage.c#34 edit
.. //depot/projects/vimage-commit2/src/sys/sys/vimage.h#58 edit
Differences ...
==== //depot/projects/vimage-commit2/src/sys/kern/kern_prot.c#9 (text+ko) ====
@@ -1756,7 +1756,11 @@
KASSERT(td == curthread, ("%s: td not curthread", __func__));
PROC_LOCK_ASSERT(p, MA_OWNED);
- if ((error = prison_check(td->td_ucred, p->p_ucred)))
+ if (
+#ifdef VIMAGE
+ !vi_child_of(TD_TO_VIMAGE(td), P_TO_VIMAGE(p)) &&
+#endif
+ (error = prison_check(td->td_ucred, p->p_ucred)))
return (error);
#ifdef MAC
if ((error = mac_proc_check_wait(td->td_ucred, p)))
==== //depot/projects/vimage-commit2/src/sys/kern/kern_vimage.c#34 (text+ko) ====
@@ -101,7 +101,7 @@
* Userspace interfaces.
*/
-static int
+int
vi_child_of(struct vimage *parent, struct vimage *child)
{
if (child == parent)
==== //depot/projects/vimage-commit2/src/sys/sys/vimage.h#58 (text+ko) ====
@@ -158,6 +158,7 @@
int vi_symlookup(struct kld_sym_lookup *, char *);
int vi_td_ioctl(u_long, struct vi_req *, struct thread *);
int vi_if_move(struct vi_req *, struct ifnet *, struct vimage *);
+int vi_child_of(struct vimage *, struct vimage *);
void if_reassign_common(struct ifnet *, struct vnet *, const char *);
void vnet_mod_register(const struct vnet_modinfo *);
void vnet_mod_register_multi(const struct vnet_modinfo *, void *, char *);
More information about the p4-projects
mailing list