diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | process.c | 5 | ||||
-rw-r--r-- | ruby.c | 2 | ||||
-rw-r--r-- | version.h | 2 |
4 files changed, 10 insertions, 3 deletions
@@ -1,3 +1,7 @@ +Mon Jan 19 16:30:05 1998 Yukihiro Matsumoto <matz@netlab.co.jp> + + * process.c (rb_syswait): no exception raised. + Fri Jan 16 00:43:43 1998 Yukihiro Matsumoto <matz@netlab.co.jp> * ruby.h (CLONESETUP): copies its singleton classes too. @@ -579,6 +579,7 @@ rb_syswait(pid) { RETSIGTYPE (*hfunc)(), (*qfunc)(), (*ifunc)(); int status; + int i; #ifdef SIGHUP hfunc = signal(SIGHUP, SIG_IGN); @@ -588,7 +589,9 @@ rb_syswait(pid) #endif ifunc = signal(SIGINT, SIG_IGN); - if (rb_waitpid(pid, 0, &status) < 0) rb_sys_fail("wait"); + do { + i = rb_waitpid(pid, 0, &status); + } while (i == -1 && errno == EINTR); #ifdef SIGHUP signal(SIGHUP, hfunc); @@ -475,7 +475,7 @@ load_file(fname, script) char *path; char *pend = RSTRING(line)->ptr + RSTRING(line)->len; - p = RSTRING(line)->ptr + 2; /* skip `#!' */ + p = RSTRING(line)->ptr + 1; /* skip `#!' */ if (pend[-1] == '\n') pend--; /* chomp line */ if (pend[-1] == '\r') pend--; *pend = '\0'; @@ -1,2 +1,2 @@ #define RUBY_VERSION "1.1b5" -#define VERSION_DATE "98/01/16" +#define VERSION_DATE "98/01/19" |