bliz's answer fits with my understanding. (On systems that support it, there's a copy-on-write operation that means %children will be the same in a parent and the child only until one of them changes it. Then they'll both get their own unique copies.)

I think part of the difficulty is that you have the parent communication bit in the child bits of make_new_child(). I'd expect to see that rather in the parent part.

I'm not a socket guru, so I don't know if storing the results of an accept() call that way will work. Since you're using the same socket on the parent side, I'd expect you can only talk to one kid at a time, and that only if the kid has made a connection to the parent.

merlyn has an example of a preforking chat server on his web page. It's WebTechniques column 22 or 23, I believe. Examining that code and the explanation may be more helpful in this case.


In reply to Re: forking server by chromatic
in thread forking server by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.