summaryrefslogtreecommitdiff
path: root/ruby.c
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-10-30 13:34:04 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-10-30 13:34:04 +0000
commita3efca16a12044b46f0e305ddcacfe6d412afcca (patch)
treea1ae1875add81b50f677ccf9ba6289eca42ac934 /ruby.c
parent0d2a92e0b327bd69781dd51f34278e843d5f0b74 (diff)
* ruby.c (fill_standard_fds): use fstat() instead of fcntl(F_GETFD)
for MinGW. reported by Luis Lavena. [ruby-core:40526] [Bug #5516] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.c')
-rw-r--r--ruby.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/ruby.c b/ruby.c
index 3371772671..944f214560 100644
--- a/ruby.c
+++ b/ruby.c
@@ -1819,9 +1819,10 @@ static void
fill_standard_fds(void)
{
int f0, f1, f2, fds[2];
- f0 = fcntl(0, F_GETFD) == -1 && errno == EBADF;
- f1 = fcntl(1, F_GETFD) == -1 && errno == EBADF;
- f2 = fcntl(2, F_GETFD) == -1 && errno == EBADF;
+ struct stat buf;
+ f0 = fstat(0, &buf) == -1 && errno == EBADF;
+ f1 = fstat(1, &buf) == -1 && errno == EBADF;
+ f2 = fstat(2, &buf) == -1 && errno == EBADF;
if (f0) {
if (pipe(fds) == 0) {
close(fds[1]);