NAME
IPC::MorseSignals - Communicate between processes with Morse signals.
VERSION
Version 0.17
WARNING
Due to the POSIX signals specification (which I wasn't aware of at the time I wrote this module), this module is by nature completely unreliable and will never work properly. It is therefore deprecated. Please don't use it (if you were actually crazy enough to use it).
SYNOPSIS
# In the sender process
use IPC::MorseSignals::Emitter;
my $deuce = IPC::MorseSignals::Emitter->new(speed => 1024);
$deuce->post('HLAGH') for 1 .. 3;
$deuce->send($pid);
...
# In the receiver process
use IPC::MorseSignals::Receiver;
local %SIG;
my $pants = IPC::MorseSignals::Receiver->new(\%SIG, done => sub {
print STDERR "GOT $_[1]\n";
});
DESCRIPTION
This module implements a rare form of IPC by sending Morse-like signals through SIGUSR1
and SIGUSR2
. Both of those signals are used, so you won't be able to keep them for something else when you use this module.
IPC::MorseSignals::Emitter is a base class for emitters ;
IPC::MorseSignals::Receiver is a base class for receivers.
But, seriously, use something else for your IPC. :)
CAVEATS
When the same signal is sent several times in a row to a process, the POSIX standard does not guarantee that the relevant signal handler will be called for each of the notifications. This will result in malformed messages if the transfer speed is so high that the operating system does not have the time to call the signal handler for each bit.
DEPENDENCIES
You need the complete Bit::MorseSignals distribution.
Carp (standard since perl 5), POSIX (idem) and Time::HiRes (since perl 5.7.3) are also required.
SEE ALSO
IPC::MorseSignals::Emitter, IPC::MorseSignals::Receiver.
Bit::MorseSignals, Bit::MorseSignals::Emitter, Bit::MorseSignals::Receiver.
perlipc for information about signals in perl.
For truly useful IPC, search for shared memory, pipes and semaphores.
AUTHOR
Vincent Pit, <perl at profvince.com>
, http://www.profvince.com.
You can contact me by mail or on irc.perl.org
(vincent).
BUGS
Please report any bugs or feature requests to bug-ipc-morsesignals at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=IPC-MorseSignals. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc IPC::MorseSignals
ACKNOWLEDGEMENTS
Thanks for the inspiration, mofino ! I hope this module will fill all your IPC needs. :)
COPYRIGHT & LICENSE
Copyright 2007,2008,2013,2017 Vincent Pit, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.