On Tue, 2005-09-06 at 12:58 -0400, [EMAIL PROTECTED] wrote: > On Tue, 06 Sep 2005 17:15:51 +0800, "Sat." said: > > Not a kernel problem, please consult an intro-to-C list next time.... > > > if(!(pid=fork())){ > > ...... > > printk("in child process"); > > ...... > > }else{ > > ..... > > printk("in father process"); > > ..... > > } > > > > > values., and do nothing . so the bridge between the new process and > > its following code, printk("in child process"), seems disappear > > I'm assuming you actually meant printf() (which is the userspace stdio call) > rather than printk() (which is the inside-the-kernel variant).
I actually assumed the same. > 'man setbuf' - most likely the output of the child process is buffered and > never actually output before it exits. You want to set stdout to be It is buffered since the above printf() lacks a terminating "\n". So either put a "\n" at the end or call "fflush(stdout);" > line-buffered or unbuffered, or write to stderr (unbuffered by default) rather > than stdout. Bernd -- Firmix Software GmbH http://www.firmix.at/ mobil: +43 664 4416156 fax: +43 1 7890849-55 Embedded Linux Development and Services - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/