summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--process.c5
-rw-r--r--ruby.c2
-rw-r--r--version.h2
4 files changed, 10 insertions, 3 deletions
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 <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.
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"