A socket is not a resource which you can store in shared memory. There is deep UNIX mojo which will allow you to pass open file descriptors between processes, but it's somewhat involved. If you're really stuck on passing filehandles around, get a copy of Stevens' Unix Network Programming and/or Advanced Programming in the Unix Environment (I know the later talks about passing filehandles, and I think the former specifically covers tossing around sockets); you should be able to translate everything to the equivalent operations in perl.

Consider instead doing something similar to what apache does (the fork'd children each call accept on a socket opened before they were created and shared between all of the children (with apropriate locking to make sure only one calls accept at a time)). Or fork off the child after the connection comes in, in which case it'll just inherit the socket. Or take a look at POE.


In reply to Re: Storing Socket Connections in Shared Memory by Fletch
in thread Storing Socket Connections in Shared Memory by tcf22

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.