Mon Dec 2 15:50:46 2024
EVENTS
 FREE
SOFTWARE
INSTITUTE

POLITICS
JOBS
MEMBERS'
CORNER

MAILING
LIST

NYLXS Mailing Lists and Archives
NYLXS Members have a lot to say and share but we don't keep many secrets. Join the Hangout Mailing List and say your peice.

DATE 2015-03-01

LEARN

2024-12-02 | 2024-11-02 | 2024-10-02 | 2024-09-02 | 2024-08-02 | 2024-07-02 | 2024-06-02 | 2024-05-02 | 2024-04-02 | 2024-03-02 | 2024-02-02 | 2024-01-02 | 2023-12-02 | 2023-11-02 | 2023-10-02 | 2023-09-02 | 2023-08-02 | 2023-07-02 | 2023-06-02 | 2023-05-02 | 2023-04-02 | 2023-03-02 | 2023-02-02 | 2023-01-02 | 2022-12-02 | 2022-11-02 | 2022-10-02 | 2022-09-02 | 2022-08-02 | 2022-07-02 | 2022-06-02 | 2022-05-02 | 2022-04-02 | 2022-03-02 | 2022-02-02 | 2022-01-02 | 2021-12-02 | 2021-11-02 | 2021-10-02 | 2021-09-02 | 2021-08-02 | 2021-07-02 | 2021-06-02 | 2021-05-02 | 2021-04-02 | 2021-03-02 | 2021-02-02 | 2021-01-02 | 2020-12-02 | 2020-11-02 | 2020-10-02 | 2020-09-02 | 2020-08-02 | 2020-07-02 | 2020-06-02 | 2020-05-02 | 2020-04-02 | 2020-03-02 | 2020-02-02 | 2020-01-02 | 2019-12-02 | 2019-11-02 | 2019-10-02 | 2019-09-02 | 2019-08-02 | 2019-07-02 | 2019-06-02 | 2019-05-02 | 2019-04-02 | 2019-03-02 | 2019-02-02 | 2019-01-02 | 2018-12-02 | 2018-11-02 | 2018-10-02 | 2018-09-02 | 2018-08-02 | 2018-07-02 | 2018-06-02 | 2018-05-02 | 2018-04-02 | 2018-03-02 | 2018-02-02 | 2018-01-02 | 2017-12-02 | 2017-11-02 | 2017-10-02 | 2017-09-02 | 2017-08-02 | 2017-07-02 | 2017-06-02 | 2017-05-02 | 2017-04-02 | 2017-03-02 | 2017-02-02 | 2017-01-02 | 2016-12-02 | 2016-11-02 | 2016-10-02 | 2016-09-02 | 2016-08-02 | 2016-07-02 | 2016-06-02 | 2016-05-02 | 2016-04-02 | 2016-03-02 | 2016-02-02 | 2016-01-02 | 2015-12-02 | 2015-11-02 | 2015-10-02 | 2015-09-02 | 2015-08-02 | 2015-07-02 | 2015-06-02 | 2015-05-02 | 2015-04-02 | 2015-03-02 | 2015-02-02 | 2015-01-02 | 2014-12-02 | 2014-11-02 | 2014-10-02

Key: Value:

Key: Value:

MESSAGE
DATE 2015-03-03
FROM Ruben Safir
SUBJECT Subject: [LIU Comp Sci] Re: fork problem
From owner-learn-outgoing-at-mrbrklyn.com Tue Mar 3 10:29:25 2015
Return-Path:
X-Original-To: archive-at-mrbrklyn.com
Delivered-To: archive-at-mrbrklyn.com
Received: by mrbrklyn.com (Postfix)
id 6878D161168; Tue, 3 Mar 2015 10:29:25 -0500 (EST)
Delivered-To: learn-outgoing-at-mrbrklyn.com
Received: by mrbrklyn.com (Postfix, from userid 28)
id 5B97F1612E2; Tue, 3 Mar 2015 10:29:25 -0500 (EST)
Delivered-To: learn-at-nylxs.com
Received: from mailbackend.panix.com (mailbackend.panix.com [166.84.1.89])
by mrbrklyn.com (Postfix) with ESMTP id AC32E161168
for ; Tue, 3 Mar 2015 10:29:01 -0500 (EST)
Received: from [10.0.0.19] (unknown [96.57.23.82])
by mailbackend.panix.com (Postfix) with ESMTPSA id 0D6AA11BEC;
Tue, 3 Mar 2015 10:29:01 -0500 (EST)
Message-ID: <54F5D33C.9030002-at-panix.com>
Date: Tue, 03 Mar 2015 10:29:00 -0500
From: Ruben Safir
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
To: Mohammed Ghriga
Subject: [LIU Comp Sci] Re: fork problem
References: <20150302233129.GA30034-at-www.mrbrklyn.com>
In-Reply-To:
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: 7bit
Sender: owner-learn-at-mrbrklyn.com
Precedence: bulk
Reply-To: learn-at-mrbrklyn.com

On 03/03/2015 07:40 AM, Mohammed Ghriga wrote:
> Ruben,
>
> Everything is fine on my system- see the attached. The volume of information printed is what makes it hard to follow your output. If you think there is a problem test the issue with a very simple program which includes a code segment such as:
>
>
> int pid = fork();
> printf("Testing fork\n");
> if ( pid == 0 )
> printf( "This is being printed from the child process\n" );
> ETC....
>
> mg
>
> -----Original Message-----
> From: Ruben Safir [mailto:ruben-at-mrbrklyn.com]
> Sent: Monday, March 02, 2015 6:32 PM
> To: Mohammed Ghriga
> Subject: fork problem
>
> I must be doing something wrong
>
> --
> So many immigrant groups have swept through our town that Brooklyn, like Atlantis, reaches mythological proportions in the mind of the world - RI Safir 1998 http://www.mrbrklyn.com
>
> DRM is THEFT - We are the STAKEHOLDERS - RI Safir 2002 http://www.nylxs.com - Leadership Development in Free Software http://www2.mrbrklyn.com/resources - Unpublished Archive http://www.coinhangout.com - coins!
> http://www.brooklyn-living.com
>
> Being so tracked is for FARM ANIMALS and and extermination camps, but incompatible with living as a free human being. -RI Safir 2013
>
It completely normalized with fflush(). My friend from Google suggested
this on a chat lasst night and I didn't believe him because it seemed to
be giving me a recursion, but then on usenet, I had the same suggestion
and it completely fixed everything. You need to flush the output buffer
before forking.

#include
#include
#include
#include
#include


int main( int argc, char * argv[]){
pid_t pid;
pid_t pid_ret;
int i = 0;
printf("\n___Before the While Loop where Loop is ==> %d__", i);

while( i++ < 100){
puts("\nBefore the Fork in the Loop:");
fflush(stdout); <<==============================
printf( "Loop ==> %d \n", i);
pid = fork();
printf("\nFork: This should print twice for every loop:
%d", i);

if(pid < 0){
puts( "fork failed\n" );
return 1;
}
if(pid == 0) {
puts("\n\nChildren of the world unite");
printf("Am Yisrael Chai! pid =>%d \n", pid);
printf( "Loop in Child ==> %d \n", i);
puts("BYE!!");
exit( EXIT_SUCCESS );
}
if (pid > 0 ){
printf("\nIn the Parent => I'm waiting %d\n", pid );
printf( "Loop in Parent ==> %d \n", i);
pid_ret = wait(NULL);
puts("Done Waiting for Child");
printf("\nProcess that returned was ==> %d", pid_ret );
printf("\n*******************************\n" );
}
}
return 0;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`

usenet - comp.lang.c

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

On Monday March 2 2015 18:41, in comp.lang.c, "Ruben Safir"
wrote:

> Anyone know why this might not fuction as I thought it might. It seems
> to start at the beginning of main when a process is forked
>
> #include
> #include
> #include
> #include
> #include
>
>
> int main( int argc, char * argv[]){
> pid_t pid;
> pid_t pid_ret;
> int i = 0;
> printf("\n___Before the While Loop where Loop is ==> %d__", i);
[snip]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> ___Before the While Loop where Loop is ==> 0__
> Before the Fork in the Loop:
> Loop ==> 1
>
> Fork: This should print twice for every loop: 1
>
> Children of the world unite
> Am Yisrael Chai! pid =>0
> Loop in Child ==> 1
> BYE!!
>
> ___Before the While Loop where Loop is ==> 0__
[snip]

As Keith said, this is off-topic for comp.lang.c, and you'd get a better
explanation from comp.unix.programmer or one of the other Unix groups.

Having said that, take a look at your program. Specifically, the line that
reads
printf("\n___Before the While Loop where Loop is ==> %d__", i);

Note that, at this point in your code, if you are outputing to a
line-buffered device (such as a console), you /have not/ written the string
out. The next newline (or a call to fflush() ) will flush the buffer, and
cause the string to write out. Such is the way of buffered I/O.

So, prior to the fork(), you have a buffer that contains a string, not
written to stdout.

Consider what happens after the fork(). You now write a newline to stdout,
along with more text. In both the parent process, and the child process.

So, in the parent process, the next newline causes the parent process'
buffer to be flushed, and you see the text
___Before the While Loop where Loop is ==> 0__

And, in the child process, which has inherited a copy of the buffer and it's
flags, the next newline causes the child process' buffer to be flushed, and
again, you see
___Before the While Loop where Loop is ==> 0__


Such is the way of programming in a Unix multiprogramming environment.
-- Lew Pitcher "In Skills, We Trust" PGP public key available upon request


  1. 2015-03-01 Ruben <ruben.safir-at-my.liu.edu> Subject: [LIU Comp Sci] Fwd: Re: Linked List Test Question
  2. 2015-03-02 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] [ruben-at-mrbrklyn.com: fork problem]
  3. 2015-03-03 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Re: fork problem
  4. 2015-03-04 Maneesh Kongara <maneeshkongara-at-gmail.com> Re: [LIU Comp Sci] Mid term in Allorithms
  5. 2015-03-04 Ruben Safir <mrbrklyn-at-panix.com> Re: [LIU Comp Sci] Mid term in Allorithms
  6. 2015-03-04 Maneesh Kongara <maneeshkongara-at-gmail.com> Re: [LIU Comp Sci] Mid term in Allorithms
  7. 2015-03-04 Ruben Safir <mrbrklyn-at-panix.com> Re: [LIU Comp Sci] Mid term in Allorithms
  8. 2015-03-04 Ruben Safir <ruben.safir-at-my.liu.edu> Re: [LIU Comp Sci] Mid term in Allorithms
  9. 2015-03-04 Maneesh Kongara <maneeshkongara-at-gmail.com> Re: [LIU Comp Sci] Mid term in Allorithms
  10. 2015-03-04 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Kanpsack problemi
  11. 2015-03-04 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Mid term in Allorithms
  12. 2015-03-05 Kamran <kamran.mirzayev-at-my.liu.edu> Re: [LIU Comp Sci] Canonical's 2015 OpenStack Roadshow
  13. 2015-03-05 mrbrklyn-at-panix.com Subject: [LIU Comp Sci] Canonical's 2015 OpenStack Roadshow
  14. 2015-03-05 Ruben <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Forks - Operating systems class
  15. 2015-03-06 Ruben <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] KDE Mentoring -
  16. 2015-03-06 Ruben <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] networking class
  17. 2015-03-07 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Operating Systems class submition
  18. 2015-03-08 From: "keisha.sylvester" <keisha.sylvester-at-my.liu.edu> RE: [LIU Comp Sci] Operating Systems Supplement Text
  19. 2015-03-08 Ruben <ruben.safir-at-my.liu.edu> Re: [LIU Comp Sci] Operating Systems Supplement Text
  20. 2015-03-08 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Operating systems HW
  21. 2015-03-08 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Operating Systems Supplement Text
  22. 2015-03-08 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Re: Operating systems HW
  23. 2015-03-11 Ruben Safir <mrbrklyn-at-panix.com> Re: [LIU Comp Sci] Operating Systems class submition
  24. 2015-03-11 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] February Journal almost completed
  25. 2015-03-16 mrbrklyn-at-panix.com Subject: [LIU Comp Sci] Operating Systems Chapter 3 HW complete
  26. 2015-03-16 mrbrklyn-at-panix.com Subject: [LIU Comp Sci] [ruben-at-mrbrklyn.com: os hw]
  27. 2015-03-17 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Fwd: NYC local: UNIGROUP 19-MAR-2015 (Thu): Penguin Computing presents
  28. 2015-03-19 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] LIU Center for Entrepreneurship + Innovation
  29. 2015-03-20 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Optimum
  30. 2015-03-20 mrbrklyn-at-panix.com Subject: [LIU Comp Sci] [jkeen-at-verizon.net: 2nd New York City Perl Hackathon: hold the
  31. 2015-03-22 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Re: Kernel thread scheduling
  32. 2015-03-22 mrbrklyn-at-panix.com Subject: [LIU Comp Sci] [jkeen-at-verizon.net: New York City Perl Hackathon 2015: Registration
  33. 2015-03-22 mrbrklyn-at-panix.com Subject: [LIU Comp Sci] [vinc94-at-gmail.com: Re: Kernel thread scheduling]
  34. 2015-03-22 mrbrklyn-at-panix.com Subject: [LIU Comp Sci] [xerofoify-at-gmail.com: Re: Kernel thread scheduling]
  35. 2015-03-23 Keisha Sylvester <keisha.sylvester-at-my.liu.edu> Re: [LIU Comp Sci] Meeting Announcement II
  36. 2015-03-23 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Meeting Announcement II
  37. 2015-03-23 mrbrklyn-at-panix.com Subject: [LIU Comp Sci] [gabor-at-szabgab.com: [Perlweekly] #191 - Hackathon after Hackathon]
  38. 2015-03-24 Maneesh Kongara <maneeshkongara-at-gmail.com> Re: [LIU Comp Sci] GNU/Linux 1
  39. 2015-03-24 Maneesh Kongara <maneeshkongara-at-gmail.com> Re: [LIU Comp Sci] GNU/Linux 1
  40. 2015-03-24 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] GNU/Linux 1
  41. 2015-03-25 Ruben Safir <mrbrklyn-at-panix.com> Re: [LIU Comp Sci] GNU/Linux 1
  42. 2015-03-25 Ruben <ruben.safir-at-my.liu.edu> Re: [LIU Comp Sci] GNU/Linux 1
  43. 2015-03-25 Ruben Safir <mrbrklyn-at-panix.com> Re: [LIU Comp Sci] GNU/Linux 1
  44. 2015-03-25 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] decent threading outline that fills in where our notes let off
  45. 2015-03-25 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] I love this HW problem
  46. 2015-03-25 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Java Crimes
  47. 2015-03-25 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] jobs jobs
  48. 2015-03-25 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Threaded Programming example
  49. 2015-03-25 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Threads and Speed
  50. 2015-03-26 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Cpt 4 HW from pr 13-18
  51. 2015-03-26 Ruben <ruben.safir-at-my.liu.edu> Subject: [LIU Comp Sci] Fwd: [NYLXS - HANGOUT] GNU/Linux 1
  52. 2015-03-26 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Kernel Learning Resource - #1
  53. 2015-03-27 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] AVl Trees
  54. 2015-03-27 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Re: Cpt 4 HW Programming Project 4-20 (and 3-20)
  55. 2015-03-28 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Jobs
  56. 2015-03-28 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] JOUNAL MEETING AT 10AM TOMORROW
  57. 2015-03-29 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] Fwd: usage of dma_common_mmap
  58. 2015-03-30 Ruben Safir <mrbrklyn-at-panix.com> Subject: [LIU Comp Sci] HW 4.18 Problem

NYLXS are Do'ers and the first step of Doing is Joining! Join NYLXS and make a difference in your community today!