From: Richard Collins (richardscollins_at_yahoo.co.nz)
Date: Tue 02 Dec 2003 - 01:24:15 GMT
Hi,
I have observed that the syscall sys_new_s_context() does not set
initpid when a new context is created from context 0 when the desired
new context number is specified.
Lines 1471-4 in linux-2.4.22/kernel/signal.c are:
if (!found)
sys_alloc_s_info();
if (current->s_info)
current->s_info->flags |= flags;
I would have expected something like:
if (!found) {
sys_alloc_s_info();
set_initpid (flags);
}
if (current->s_info)
current->s_info->flags |= flags;
Is this by design? I don't think it makes sense to fakeinit when a
context already exists with the specified id but it does if it is a new
context. If it is by design shouldn't an error if fakeinit is specified
but cannot be done, rather that just ignoring the flag; this would have
saved me half a day's debugging :-) of scripts.
What do you guys think?
Richard Collins
_______________________________________________
Vserver mailing list
Vserver_at_list.linux-vserver.org
http://list.linux-vserver.org/mailman/listinfo/vserver