ruby-changes:24798
From: akr <ko1@a...>
Date: Wed, 29 Aug 2012 23:44:20 +0900 (JST)
Subject: [ruby-changes:24798] akr:r36849 (trunk): * internal.h (rb_last_status_clear): declared.
akr 2012-08-29 23:44:08 +0900 (Wed, 29 Aug 2012) New Revision: 36849 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=36849 Log: * internal.h (rb_last_status_clear): declared. * process.c (rb_last_status_clear): exported. (rb_f_system): call rb_last_status_clear. * io.c (rb_f_backquote): call rb_last_status_clear. Modified files: trunk/ChangeLog trunk/internal.h trunk/io.c trunk/process.c Index: ChangeLog =================================================================== --- ChangeLog (revision 36848) +++ ChangeLog (revision 36849) @@ -1,3 +1,12 @@ +Wed Aug 29 23:42:59 2012 Tanaka Akira <akr@f...> + + * internal.h (rb_last_status_clear): declared. + + * process.c (rb_last_status_clear): exported. + (rb_f_system): call rb_last_status_clear. + + * io.c (rb_f_backquote): call rb_last_status_clear. + Wed Aug 29 22:01:15 2012 Tanaka Akira <akr@f...> * process.c (rb_f_system): check failures of waitpid. Index: io.c =================================================================== --- io.c (revision 36848) +++ io.c (revision 36849) @@ -7808,6 +7808,7 @@ rb_io_t *fptr; SafeStringValue(str); + rb_last_status_clear(); port = pipe_open_s(str, "r", FMODE_READABLE|DEFAULT_TEXTMODE, NULL); if (NIL_P(port)) return rb_str_new(0,0); Index: process.c =================================================================== --- process.c (revision 36848) +++ process.c (revision 36849) @@ -226,7 +226,7 @@ rb_iv_set(th->last_status, "pid", PIDT2NUM(pid)); } -static void +void rb_last_status_clear(void) { GET_THREAD()->last_status = Qnil; @@ -3656,6 +3656,7 @@ #ifdef SIGCHLD RETSIGTYPE (*chfunc)(int); + rb_last_status_clear(); chfunc = signal(SIGCHLD, SIG_DFL); #endif pid = rb_spawn_internal(argc, argv, NULL, 0); Index: internal.h =================================================================== --- internal.h (revision 36848) +++ internal.h (revision 36849) @@ -222,6 +222,7 @@ #define ARGVSTR2ARGV(argv_str) ((char **)RSTRING_PTR(argv_str) + 1) rb_pid_t rb_fork_ruby(int *status); +void rb_last_status_clear(void); /* rational.c */ VALUE rb_lcm(VALUE x, VALUE y); -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/