From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS16276 91.121.0.0/16 X-Spam-Status: No, score=-0.7 required=3.0 tests=AWL,BAYES_00,KHOP_DYNAMIC, RCVD_IN_XBL,URIBL_BLOCKED shortcircuit=no autolearn=no version=3.3.2 X-Original-To: rainbows-public@bogomips.org Received: from 80x24.org (ns359843.ip-91-121-159.eu [91.121.159.196]) by dcvr.yhbt.net (Postfix) with ESMTP id 45C9B6362C3 for ; Sat, 21 Nov 2015 08:52:45 +0000 (UTC) From: Eric Wong To: rainbows-public@bogomips.org Subject: [PATCH 4/5] revactor: remove fcntl dependency Date: Sat, 21 Nov 2015 08:52:31 +0000 Message-Id: <20151121085232.23086-5-e@80x24.org> In-Reply-To: <20151121085232.23086-1-e@80x24.org> References: <20151121085232.23086-1-e@80x24.org> List-Id: In the unlikely case somebody runs revactor, they won't need to load the extra fcntl.so library into their process anymore. In retrospect, we could've alway used IO#close_on_exec= since it appeared in 1.9.1 and (IIRC) revactor always required 1.9.1+ --- lib/rainbows/revactor.rb | 1 - lib/rainbows/revactor/client.rb | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/rainbows/revactor.rb b/lib/rainbows/revactor.rb index e68fee6..fae5f16 100644 --- a/lib/rainbows/revactor.rb +++ b/lib/rainbows/revactor.rb @@ -1,6 +1,5 @@ # -*- encoding: binary -*- require 'revactor' -require 'fcntl' Revactor::VERSION >= '0.1.5' or abort 'revactor 0.1.5 is required' # Enables use of the Actor model through {Revactor}[http://revactor.org] diff --git a/lib/rainbows/revactor/client.rb b/lib/rainbows/revactor/client.rb index c1cb7aa..5b1e52d 100644 --- a/lib/rainbows/revactor/client.rb +++ b/lib/rainbows/revactor/client.rb @@ -1,6 +1,5 @@ # -*- encoding: binary -*- # :enddoc: -require 'fcntl' class Rainbows::Revactor::Client autoload :TeeSocket, 'rainbows/revactor/client/tee_socket' RD_ARGS = {} @@ -11,7 +10,7 @@ class Rainbows::Revactor::Client def initialize(client) @client, @rd_args, @ts = client, [ nil ], nil io = client.instance_variable_get(:@_io) - io.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC) + io.close_on_exec = true @kgio_addr = if Revactor::TCP::Socket === client @rd_args << RD_ARGS client.remote_addr -- EW