If I remember correctly Inline::Java communicates with a separately running JVM via a socket connection. If that's true then it may be that when your child process dies it's closing the socket connection (which it shares with the parent) and that's borking your connection to the JVM.

One way to solve the problem would be to replace your fork() with a system() call that starts a new Perl process to perform your leaky code:

   system("$^X -MSerious::Leaker -e 'Serious::Leaker->leak_on()'");

If that's impractical, you might look at the JNI and shared JVM options for Inline::Java (http://search.cpan.org/~patl/Inline-Java-0.52/Java.pod#JNI_vs_CLIENT/SERVER_MODES). It seems like either one might solve this problem. The shared JVM option seems particularly attractive since it also may improve performance.

-sam


In reply to Re: fork kills Inline::Java by samtregar
in thread fork kills Inline::Java by Sixtease

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.