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