diff --git a/ChangeLog b/ChangeLog index 029e20077c..84c54f46ac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Mon Jan 19 16:30:05 1998 Yukihiro Matsumoto + + * process.c (rb_syswait): no exception raised. + Fri Jan 16 00:43:43 1998 Yukihiro Matsumoto * ruby.h (CLONESETUP): copies its singleton classes too. diff --git a/process.c b/process.c index 0b9373a88c..5a7ce36b47 100644 --- a/process.c +++ b/process.c @@ -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); diff --git a/ruby.c b/ruby.c index 620cffc542..03b29ff7b8 100644 --- a/ruby.c +++ b/ruby.c @@ -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'; diff --git a/version.h b/version.h index b737876434..f4b2a21a6b 100644 --- a/version.h +++ b/version.h @@ -1,2 +1,2 @@ #define RUBY_VERSION "1.1b5" -#define VERSION_DATE "98/01/16" +#define VERSION_DATE "98/01/19"