I like it too. I'm doing it right now. Only problem is notifying the
parent that it had a child without knowing it! (Next on Jerry Springer..)
Semantics are basically this:
Any process created with the CLONE_PPIDOK flag is allowed to make children
for its parent. It can then be clone()d with CLONE_PPID, and do_fork()
will do the right thing wrt p_pptr and p_opptr.
outstanding issues:
1) send a signal to parent? SIG_NEWCHLD ? ick... but not notifying parent
is silly..
2) what if we ask for CLONE_PPID and CLONE_PPIDOK (which is copied into
task_struct flags as PF_PPIDOK) is not set? We can eitehr fail with EINVAL
(or better error?) or silently ignore CLONE_PPID. I opt for ignoring it
and clone()ing as usual.
any other thoughts?
Tim
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/