You might be able to fork() the process at startup, where the parent does all the logic and stuff, and the child only does the low level serial communication. Then the parent can periodically check if the child still reacts, and restart it if required.

I'm not what the best way to do IPC between the processes on Windows, i am a Linux guy. From what i understand, Unix domain sockets (AF_UNIX) are now available when using at least Win10 and a modern version of Perl, otherwise you can just use TCP on localhost.

I wrote a forked program example (for Linux) in Autoclicker! Cheating is winning, too! (look for the header "VERSION 2") that does inter-process communication. Maybe this is some help to your problem.


In reply to Re^3: Win32::SerialPort - How do I detect if device is still connected? by cavac
in thread Win32::SerialPort - How do I detect if device is still connected? by petro4213

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.