]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Listener.pm
ds: set event flags directly at initialization
[public-inbox.git] / lib / PublicInbox / Listener.pm
index 52894cb3b4995a6a142e271789a07552d0342e8f..94b2aed4db632c597eac684057e26264f80859eb 100644 (file)
@@ -5,7 +5,7 @@
 package PublicInbox::Listener;
 use strict;
 use warnings;
-use base 'Danga::Socket';
+use base 'PublicInbox::DS';
 use Socket qw(SOL_SOCKET SO_KEEPALIVE IPPROTO_TCP TCP_NODELAY);
 use fields qw(post_accept);
 require IO::Handle;
@@ -17,13 +17,13 @@ sub new ($$$) {
        listen($s, 1024);
        IO::Handle::blocking($s, 0);
        my $self = fields::new($class);
-       $self->SUPER::new($s); # calls epoll_create for the first socket
-       $self->watch_read(1);
+       $self->SUPER::new($s, PublicInbox::DS::EPOLLIN()|
+                             PublicInbox::DS::EPOLLEXCLUSIVE());
        $self->{post_accept} = $cb;
        $self
 }
 
-sub event_read {
+sub event_step {
        my ($self) = @_;
        my $sock = $self->{sock};