From 5c19f077008f6e6633e15a8d15fceb4b17d37208 Mon Sep 17 00:00:00 2001 From: akr Date: Sun, 30 Oct 2011 15:17:27 +0000 Subject: * include/ruby/intern.h (rb_cloexec_fcntl_dupfd): declared. * io.c (rb_cloexec_fcntl_dupfd): new function. (nogvl_io_cntl): use rb_cloexec_fcntl_dupfd. * process.c (move_fds_to_avoid_crash): use rb_cloexec_fcntl_dupfd. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- process.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'process.c') diff --git a/process.c b/process.c index 1e91743648..b0f7ae85a2 100644 --- a/process.c +++ b/process.c @@ -2508,10 +2508,10 @@ move_fds_to_avoid_crash(int *fdp, int n, VALUE fds) min = fdp[i]+1; while (RTEST(rb_hash_lookup(fds, INT2FIX(min)))) min++; - ret = fcntl(fdp[i], F_DUPFD, min); + ret = rb_cloexec_fcntl_dupfd(fdp[i], min); if (ret == -1) return -1; - rb_fd_set_cloexec(ret); + rb_update_max_fd(ret); close(fdp[i]); fdp[i] = ret; } -- cgit v1.2.3