about summary refs log tree commit homepage
path: root/lib/PublicInbox/WQBlocked.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2023-08-30 05:10:39 +0000
committerEric Wong <e@80x24.org>2023-08-30 05:27:32 +0000
commit900cb902886ce7aa257b866bcf8380f1b935c64a (patch)
treea7e0e30648754a1d07e9640d7dfc8607a1dc72f2 /lib/PublicInbox/WQBlocked.pm
parent1ea097fe25d3717ad0b8e232268a6d55d8ed7225 (diff)
downloadpublic-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.pm3
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);