From e9cec9873b585f2552e2bf9bcbcc44de34caa53d Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 4 Jan 2016 20:18:46 +0000 Subject: listener: pass accepted address to post_accept We can avoid making getpeername syscalls this way. --- lib/PublicInbox/Listener.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/PublicInbox/Listener.pm') diff --git a/lib/PublicInbox/Listener.pm b/lib/PublicInbox/Listener.pm index 67817d9f..8e0554f3 100644 --- a/lib/PublicInbox/Listener.pm +++ b/lib/PublicInbox/Listener.pm @@ -27,9 +27,9 @@ sub event_read { my ($self) = @_; # no loop here, we want to fairly distribute clients # between multiple processes sharing the same socket - if (accept(my $c, $self->{sock})) { + if (my $addr = accept(my $c, $self->{sock})) { IO::Handle::blocking($c, 0); # no accept4 :< - $self->{post_accept}->($c); + $self->{post_accept}->($c, $addr); } } -- cgit v1.2.3-24-ge0c7