From 775d12f58a6922576c9264f3637daa992babb532 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 5 Jan 2019 21:25:42 +0000 Subject: worker: rely on F_SETPIPE_SZ to set mininum value Old kernels running on alpha may EINVAL, here; but modern kernels will automatically increase the passed value to the minimum size supported by the kernel. This only affects alpha, since all other arches use 4K page size on Linux. --- lib/yahns/worker.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/yahns/worker.rb') diff --git a/lib/yahns/worker.rb b/lib/yahns/worker.rb index 1b65e3d..0355629 100644 --- a/lib/yahns/worker.rb +++ b/lib/yahns/worker.rb @@ -10,13 +10,13 @@ class Yahns::Worker # :nodoc: @nr = nr @to_io, @wr = Kgio::Pipe.new - # Seems it's only alpha with a != 4K page size on Linux begin # F_SETPIPE_SZ = 1031, PAGE_SIZE = 4096 + # (fcntl will handle minimum size on platforms where PAGE_SIZE > 4096) @to_io.fcntl(1031, 4096) rescue Errno::EINVAL # old kernel - end if RUBY_PLATFORM =~ /\blinux\b/ && RUBY_PLATFORM !~ /alpha/ + end if RUBY_PLATFORM =~ /\blinux\b/ end def atfork_child -- cgit v1.2.3-24-ge0c7