in reply to Re^2: Win32::SerialPort - How do I detect if device is still connected?
in thread Win32::SerialPort - How do I detect if device is still connected?

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.

  • Comment on Re^3: Win32::SerialPort - How do I detect if device is still connected?

Replies are listed 'Best First'.
Re^4: Win32::SerialPort - How do I detect if device is still connected?
by NERDVANA (Priest) on Jul 04, 2024 at 17:44 UTC
    ...except there isn't inter-process communication between forks on Windows because fork() creates a thread. On windows, you should probably just use perl threads instead of fork, since that API has fewer surprises.