summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/ruby/intern.h1
-rw-r--r--io.c14
-rw-r--r--process.c2
3 files changed, 9 insertions, 8 deletions
diff --git a/include/ruby/intern.h b/include/ruby/intern.h
index f1d47f654e..405d473e39 100644
--- a/include/ruby/intern.h
+++ b/include/ruby/intern.h
@@ -386,6 +386,7 @@ void rb_write_error(const char*);
void rb_write_error2(const char*, long);
int rb_io_mode_modenum(const char *mode);
void rb_close_before_exec(int lowfd, int maxhint, VALUE noclose_fds);
+int rb_pipe(int *pipes);
/* marshal.c */
VALUE rb_marshal_dump(VALUE, VALUE);
VALUE rb_marshal_load(VALUE);
diff --git a/io.c b/io.c
index 5302e9b95f..cac73d784b 100644
--- a/io.c
+++ b/io.c
@@ -3638,8 +3638,8 @@ rb_io_unbuffered(rb_io_t *fptr)
rb_io_synchronized(fptr);
}
-static int
-rb_pipe_internal(int *pipes)
+int
+rb_pipe(int *pipes)
{
int ret;
ret = pipe(pipes);
@@ -3778,9 +3778,9 @@ pipe_open(struct rb_exec_arg *eargp, VALUE prog, const char *mode)
arg.write_pair[0] = arg.write_pair[1] = -1;
switch (modef & (FMODE_READABLE|FMODE_WRITABLE)) {
case FMODE_READABLE|FMODE_WRITABLE:
- if (rb_pipe_internal(arg.write_pair) < 0)
+ if (rb_pipe(arg.write_pair) < 0)
rb_sys_fail(cmd);
- if (rb_pipe_internal(arg.pair) < 0) {
+ if (rb_pipe(arg.pair) < 0) {
int e = errno;
close(arg.write_pair[0]);
close(arg.write_pair[1]);
@@ -3793,13 +3793,13 @@ pipe_open(struct rb_exec_arg *eargp, VALUE prog, const char *mode)
}
break;
case FMODE_READABLE:
- if (rb_pipe_internal(arg.pair) < 0)
+ if (rb_pipe(arg.pair) < 0)
rb_sys_fail(cmd);
if (eargp)
rb_exec_arg_addopt(eargp, INT2FIX(1), INT2FIX(arg.pair[1]));
break;
case FMODE_WRITABLE:
- if (rb_pipe_internal(arg.pair) < 0)
+ if (rb_pipe(arg.pair) < 0)
rb_sys_fail(cmd);
if (eargp)
rb_exec_arg_addopt(eargp, INT2FIX(0), INT2FIX(arg.pair[0]));
@@ -6227,7 +6227,7 @@ rb_io_s_pipe(int argc, VALUE *argv, VALUE klass)
rb_io_t *fptr;
rb_scan_args(argc, argv, "02", &v1, &v2);
- if (rb_pipe_internal(pipes) == -1)
+ if (rb_pipe(pipes) == -1)
rb_sys_fail(0);
args[0] = klass;
diff --git a/process.c b/process.c
index 7f66821c40..f75175defd 100644
--- a/process.c
+++ b/process.c
@@ -2255,7 +2255,7 @@ static int
pipe_nocrash(int filedes[2], VALUE fds)
{
int ret;
- ret = pipe(filedes);
+ ret = rb_pipe(filedes);
if (ret == -1)
return -1;
if (RTEST(fds)) {