зеркало из https://github.com/github/ruby.git
rename rb_pipe_internal to rb_pipe.
use rb_pipe in pipe_nocrash. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
8b59b1cb98
Коммит
b279bf4270
|
@ -386,6 +386,7 @@ void rb_write_error(const char*);
|
||||||
void rb_write_error2(const char*, long);
|
void rb_write_error2(const char*, long);
|
||||||
int rb_io_mode_modenum(const char *mode);
|
int rb_io_mode_modenum(const char *mode);
|
||||||
void rb_close_before_exec(int lowfd, int maxhint, VALUE noclose_fds);
|
void rb_close_before_exec(int lowfd, int maxhint, VALUE noclose_fds);
|
||||||
|
int rb_pipe(int *pipes);
|
||||||
/* marshal.c */
|
/* marshal.c */
|
||||||
VALUE rb_marshal_dump(VALUE, VALUE);
|
VALUE rb_marshal_dump(VALUE, VALUE);
|
||||||
VALUE rb_marshal_load(VALUE);
|
VALUE rb_marshal_load(VALUE);
|
||||||
|
|
14
io.c
14
io.c
|
@ -3638,8 +3638,8 @@ rb_io_unbuffered(rb_io_t *fptr)
|
||||||
rb_io_synchronized(fptr);
|
rb_io_synchronized(fptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
int
|
||||||
rb_pipe_internal(int *pipes)
|
rb_pipe(int *pipes)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
ret = pipe(pipes);
|
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;
|
arg.write_pair[0] = arg.write_pair[1] = -1;
|
||||||
switch (modef & (FMODE_READABLE|FMODE_WRITABLE)) {
|
switch (modef & (FMODE_READABLE|FMODE_WRITABLE)) {
|
||||||
case 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);
|
rb_sys_fail(cmd);
|
||||||
if (rb_pipe_internal(arg.pair) < 0) {
|
if (rb_pipe(arg.pair) < 0) {
|
||||||
int e = errno;
|
int e = errno;
|
||||||
close(arg.write_pair[0]);
|
close(arg.write_pair[0]);
|
||||||
close(arg.write_pair[1]);
|
close(arg.write_pair[1]);
|
||||||
|
@ -3793,13 +3793,13 @@ pipe_open(struct rb_exec_arg *eargp, VALUE prog, const char *mode)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case FMODE_READABLE:
|
case FMODE_READABLE:
|
||||||
if (rb_pipe_internal(arg.pair) < 0)
|
if (rb_pipe(arg.pair) < 0)
|
||||||
rb_sys_fail(cmd);
|
rb_sys_fail(cmd);
|
||||||
if (eargp)
|
if (eargp)
|
||||||
rb_exec_arg_addopt(eargp, INT2FIX(1), INT2FIX(arg.pair[1]));
|
rb_exec_arg_addopt(eargp, INT2FIX(1), INT2FIX(arg.pair[1]));
|
||||||
break;
|
break;
|
||||||
case FMODE_WRITABLE:
|
case FMODE_WRITABLE:
|
||||||
if (rb_pipe_internal(arg.pair) < 0)
|
if (rb_pipe(arg.pair) < 0)
|
||||||
rb_sys_fail(cmd);
|
rb_sys_fail(cmd);
|
||||||
if (eargp)
|
if (eargp)
|
||||||
rb_exec_arg_addopt(eargp, INT2FIX(0), INT2FIX(arg.pair[0]));
|
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_io_t *fptr;
|
||||||
|
|
||||||
rb_scan_args(argc, argv, "02", &v1, &v2);
|
rb_scan_args(argc, argv, "02", &v1, &v2);
|
||||||
if (rb_pipe_internal(pipes) == -1)
|
if (rb_pipe(pipes) == -1)
|
||||||
rb_sys_fail(0);
|
rb_sys_fail(0);
|
||||||
|
|
||||||
args[0] = klass;
|
args[0] = klass;
|
||||||
|
|
|
@ -2255,7 +2255,7 @@ static int
|
||||||
pipe_nocrash(int filedes[2], VALUE fds)
|
pipe_nocrash(int filedes[2], VALUE fds)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
ret = pipe(filedes);
|
ret = rb_pipe(filedes);
|
||||||
if (ret == -1)
|
if (ret == -1)
|
||||||
return -1;
|
return -1;
|
||||||
if (RTEST(fds)) {
|
if (RTEST(fds)) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче