]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/In2Tie.pm
watch: remove Filesys::Notify::Simple dependency
[public-inbox.git] / lib / PublicInbox / In2Tie.pm
index db1dc1045c14b52480ba5189d589593d76137a02..7dee362724ea3002b500cc19a43a12b5bafe50e7 100644 (file)
@@ -5,6 +5,19 @@
 # on Linux::Inotify2 objects
 package PublicInbox::In2Tie;
 use strict;
+use Symbol qw(gensym);
+
+sub io {
+       my $in2 = $_[0];
+       $in2->blocking(0);
+       if ($in2->can('on_overflow')) {
+               # broadcasts everything on overflow
+               $in2->on_overflow(undef);
+       }
+       my $io = gensym;
+       tie *$io, __PACKAGE__, $in2;
+       $io;
+}
 
 sub TIEHANDLE {
        my ($class, $in2) = @_;