Re: what will connect the fork() with its following code ? a simple example below:

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux