summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--io.c7
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 746adb10e3..7f5e7af1e9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Mon Jul 10 15:27:16 2000 WATANABE Hirofumi <eban@os.rim.or.jp>
+
+ * io.c (pipe_finalize): should set rb_last_status when pclose().
+
Mon Jul 10 09:07:54 2000 Yukihiro Matsumoto <matz@netlab.co.jp>
* error.c (rb_bug): print version number and such too.
diff --git a/io.c b/io.c
index 9abffb9519..43338dd274 100644
--- a/io.c
+++ b/io.c
@@ -1475,13 +1475,16 @@ pipe_finalize(fptr)
OpenFile *fptr;
{
#if !defined (__CYGWIN__)
+ extern VALUE rb_last_status;
+ int status;
if (fptr->f) {
- pclose(fptr->f);
+ status = pclose(fptr->f);
}
if (fptr->f2) {
- pclose(fptr->f2);
+ status = pclose(fptr->f2);
}
fptr->f = fptr->f2 = 0;
+ rb_last_status = INT2FIX(status);
#else
fptr_finalize(fptr);
#endif