Le 15/06/2016 18:57, Edward Bartolo a écrit :
Hi,

I am saying the child and parent at not the same at the point fork()
executes for the following reasons taken from "man 2 fork".

Quote taken from "man 2 fork": (Please not the*except*)
<<
       The new process, referred to as the child, is an  exact
duplicate  of  the
        calling  process,  referred  to as the parent, except for the following
        points:

        *  The child has its own unique process ID, and this PID does not match
           the ID of any existing process group (setpgid(2)).

        *  The  child's  parent  process ID is the same as the parent's process
           ID.

        *  The child does not inherit  its  parent's  memory  locks  (mlock(2),
           mlockall(2)).

        *  Process  resource  utilizations (getrusage(2)) and CPU time counters
           (times(2)) are reset to zero in the child.

        *  The child's set of pending  signals  is  initially  empty  (sigpend‐
           ing(2)).

        *  The  child  does  not  inherit semaphore adjustments from its parent
           (semop(2)).

        *  The child does not inherit process-associated record locks from  its
           parent  (fcntl(2)).   (On  the  other hand, it does inherit fcntl(2)
           open file description locks and flock(2) locks from its parent.)

        *  The child does not inherit timers  from  its  parent  (setitimer(2),
           alarm(2), timer_create(2)).

        *  The  child  does not inherit outstanding asynchronous I/O operations
           from its parent (aio_read(3), aio_write(3)), nor does it inherit any
           asynchronous I/O contexts from its parent (see io_setup(2)).
>>
Further down the same manpage continues to list more differences. This
is why I am saying the child and parent differ in some aspects.

Yes, some, the unavoidable to ensure childhood hiereachy, fair process scheduling and sensible I/O operation. Yet the paradigm, from the programatic pov is they are identical, appart for hierarchy. Record locks and outstanding asynchronous IOs are not commonly used and who would do that just before forking?

    Didier
_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to