]> git.vpit.fr Git - perl/modules/IPC-MorseSignals.git/blobdiff - lib/IPC/MorseSignals.pm
This is 0.17
[perl/modules/IPC-MorseSignals.git] / lib / IPC / MorseSignals.pm
index 8389e5aa1d1fe6b3c0e8d82b59f829bb9868a516..972192765faaea8df1657ef10659c8ecd16fb49d 100644 (file)
@@ -9,18 +9,24 @@ IPC::MorseSignals - Communicate between processes with Morse signals.
 
 =head1 VERSION
 
-Version 0.10
+Version 0.17
 
 =cut
 
-our $VERSION = '0.10';
+our $VERSION = '0.17';
+
+=head1 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 B<deprecated>.
+Please don't use it (if you were actually crazy enough to use it).
 
 =head1 SYNOPSIS
 
     # In the sender process
     use IPC::MorseSignals::Emitter;
 
-    my $deuce = new IPC::MorseSignals::Emitter speed => 1024;
+    my $deuce = IPC::MorseSignals::Emitter->new(speed => 1024);
     $deuce->post('HLAGH') for 1 .. 3;
     $deuce->send($pid);
 
@@ -30,24 +36,34 @@ our $VERSION = '0.10';
     use IPC::MorseSignals::Receiver;
 
     local %SIG;
-    my $pants = new IPC::MorseSignals::Receiver \%SIG, done => sub {
+    my $pants = IPC::MorseSignals::Receiver->new(\%SIG, done => sub {
      print STDERR "GOT $_[1]\n";
-    };
+    });
 
-head1 DESCRIPTION
+=head1 DESCRIPTION
 
-This module implements a rare form of IPC by sending Morse-like signals through C<SIGUSR1> and C<SIGUSR2>. Both of those signals are used, so you won't be able to keep them for something else when you use this module.
+This module implements a rare form of IPC by sending Morse-like signals through C<SIGUSR1> and C<SIGUSR2>.
+Both of those signals are used, so you won't be able to keep them for something else when you use this module.
 
 =over 4
 
-=item L<IPC::MorseSignals::Emitter> is a base class for emitters ;
+=item *
+
+L<IPC::MorseSignals::Emitter> is a base class for emitters ;
 
-=item L<IPC::MorseSignals::Receiver> is a base class for receivers ;
+=item *
+
+L<IPC::MorseSignals::Receiver> is a base class for receivers.
 
 =back
 
 But, seriously, use something else for your IPC. :)
 
+=head1 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.
+
 =head1 DEPENDENCIES
 
 You need the complete L<Bit::MorseSignals> distribution.
@@ -68,11 +84,12 @@ For truly useful IPC, search for shared memory, pipes and semaphores.
 
 Vincent Pit, C<< <perl at profvince.com> >>, L<http://www.profvince.com>.
 
-You can contact me by mail or on #perl @ FreeNode (vincent or Prof_Vince).
+You can contact me by mail or on C<irc.perl.org> (vincent).
 
 =head1 BUGS
 
-Please report any bugs or feature requests to C<bug-ipc-morsesignals at rt.cpan.org>, or through the web interface at L<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.
+Please report any bugs or feature requests to C<bug-ipc-morsesignals at rt.cpan.org>, or through the web interface at L<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.
 
 =head1 SUPPORT
 
@@ -86,7 +103,7 @@ Thanks for the inspiration, mofino ! I hope this module will fill all your IPC n
 
 =head1 COPYRIGHT & LICENSE
 
-Copyright 2007-2008 Vincent Pit, all rights reserved.
+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.