diff options
author | Eric Wong <e@80x24.org> | 2023-08-30 05:10:39 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2023-08-30 05:27:32 +0000 |
commit | 900cb902886ce7aa257b866bcf8380f1b935c64a (patch) | |
tree | a7e0e30648754a1d07e9640d7dfc8607a1dc72f2 /lib/PublicInbox/WQBlocked.pm | |
parent | 1ea097fe25d3717ad0b8e232268a6d55d8ed7225 (diff) | |
download | public-inbox-900cb902886ce7aa257b866bcf8380f1b935c64a.tar.gz |
It's apparently not needed for AF_UNIX + SOCK_SEQPACKET as our receivers never check for MSG_EOR in "struct msghdr".msg_flags anyways. I don't believe POSIX is clear on the exact semantics of MSG_EOR on this socket type. This works around truncation problems on OpenBSD recvmsg when MSG_EOR is used by the sender. Link: https://marc.info/?i=20230826020759.M335788@dcvr
Diffstat (limited to 'lib/PublicInbox/WQBlocked.pm')
-rw-r--r-- | lib/PublicInbox/WQBlocked.pm | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/PublicInbox/WQBlocked.pm b/lib/PublicInbox/WQBlocked.pm index fbb43600..8d931fa9 100644 --- a/lib/PublicInbox/WQBlocked.pm +++ b/lib/PublicInbox/WQBlocked.pm @@ -8,7 +8,6 @@ use parent qw(PublicInbox::DS); use PublicInbox::Syscall qw(EPOLLOUT EPOLLONESHOT); use PublicInbox::IPC; use Carp (); -use Socket qw(MSG_EOR); sub new { my ($cls, $wq, $buf) = @_; @@ -25,7 +24,7 @@ sub flush_send { } else { my $wq_s1 = $self->{sock}; my $n = $PublicInbox::IPC::send_cmd->($wq_s1, [], $buf, - MSG_EOR); + 0); next if defined($n); Carp::croak("sendmsg: $!") unless $!{EAGAIN}; PublicInbox::DS::epwait($wq_s1, EPOLLOUT|EPOLLONESHOT); |