]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/EvCleanup.pm
shrink low-bandwidth pipes under Linux
[public-inbox.git] / lib / PublicInbox / EvCleanup.pm
index 1a3a3d5e7735b6d8a3f2a12cd6ff4cc2ac7e3500..1a2bdb294a6431a38cb79f7fa69273c6bbf19653 100644 (file)
@@ -19,7 +19,11 @@ my $laterq = [ [], undef ];
 sub once_init () {
        my $self = fields::new('PublicInbox::EvCleanup');
        my ($r, $w);
+
+       # This is a dummy pipe which is always writable so it can always
+       # fires in the next event loop iteration.
        pipe($r, $w) or die "pipe: $!";
+       fcntl($w, 1031, 4096) if $^O eq 'linux'; # 1031: F_SETPIPE_SZ
        $self->SUPER::new($w);
        $self->{rd} = $r; # never read, since we never write..
        $self;