diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-11-28 07:15:56 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-11-28 07:15:56 +0000 |
commit | 21f81885ab310f564fb60bfe7dcde816eeb11994 (patch) | |
tree | d5b3f4dc354405854a354ba1c80a0f333dc906cb /process.c | |
parent | b3ffb68b5bacd05af67c3b8b51c9209d184e3a60 (diff) | |
download | bundler-21f81885ab310f564fb60bfe7dcde816eeb11994.tar.gz |
win32.c: rb_w32_dup2
* win32/win32.c (rb_w32_dup2): extract from rb_cloexec_dup2() and
redirect_dup2().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'process.c')
-rw-r--r-- | process.c | 14 |
1 files changed, 2 insertions, 12 deletions
@@ -2500,28 +2500,16 @@ redirect_dup(int oldfd) ttyprintf("dup(%d) => %d\n", oldfd, ret); return ret; } -#else -#define redirect_dup(oldfd) dup(oldfd) -#endif -#if defined(DEBUG_REDIRECT) || defined(_WIN32) static int redirect_dup2(int oldfd, int newfd) { int ret; ret = dup2(oldfd, newfd); - if (newfd >= 0 && newfd <= 2) - SetStdHandle(newfd == 0 ? STD_INPUT_HANDLE : newfd == 1 ? STD_OUTPUT_HANDLE : STD_ERROR_HANDLE, (HANDLE)rb_w32_get_osfhandle(newfd)); -#if defined(DEBUG_REDIRECT) ttyprintf("dup2(%d, %d)\n", oldfd, newfd); -#endif return ret; } -#else -#define redirect_dup2(oldfd, newfd) dup2((oldfd), (newfd)) -#endif -#if defined(DEBUG_REDIRECT) static int redirect_close(int fd) { @@ -2541,6 +2529,8 @@ redirect_open(const char *pathname, int flags, mode_t perm) } #else +#define redirect_dup(oldfd) dup(oldfd) +#define redirect_dup2(oldfd, newfd) dup2((oldfd), (newfd)) #define redirect_close(fd) close(fd) #define redirect_open(pathname, flags, perm) open((pathname), (flags), (perm)) #endif |