summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--os2/Changes11
-rw-r--r--os2/diff.configure9
-rw-r--r--os2/os2.c7
3 files changed, 16 insertions, 11 deletions
diff --git a/os2/Changes b/os2/Changes
index 344939c891..e2506f5f4a 100644
--- a/os2/Changes
+++ b/os2/Changes
@@ -164,6 +164,17 @@ after 5.004_03:
$0 may be edited to longer lengths (at least under OS/2).
OS2::REXX->loads looks in the OS/2-ish fashion too.
+after 5.004_04:
+ Default perl.exe was built with a shorter stack than expected.
+ Strip extensions DLLs too (unless debugging build).
+ ./os2.c being RO could stop cp.
+ When starting scripts, Perl will find them on path (using the same
+ extensions as for -S command-line switch). If it finds magic
+ `extproc ' or `#!' cookies, it will start the scripts directly.
+ May use `cmd /c more <' as a pager.
+ If a program could not be started, this might have been hidden.
+ End of pipe was closed twice when `open'ing a pipeline.
+
after 5.004_53:
Minimal thread support added. One needs to manually move pthread.h
diff --git a/os2/diff.configure b/os2/diff.configure
index 7bdfa6f585..62cf1d2031 100644
--- a/os2/diff.configure
+++ b/os2/diff.configure
@@ -27,12 +27,3 @@
case "$libs" in
'') ;;
*) for thislib in $libs; do
-@@ -10392,7 +10392,7 @@
- echo " "
- echo "Stripping down executable paths..." >&4
- for file in $loclist $trylist; do
-- eval $file="\$file"
-+ if test X$file != Xln -o X$osname != Xos2; then eval $file="\$file"; fi
- done
- ;;
- esac
diff --git a/os2/os2.c b/os2/os2.c
index 94d25e2061..d5457034c6 100644
--- a/os2/os2.c
+++ b/os2/os2.c
@@ -163,8 +163,11 @@ os2_cond_wait(perl_cond *c, perl_mutex *m)
if ((rc = DosResetEventSem(*c,&na)) && (rc != ERROR_ALREADY_RESET))
croak("panic: COND_WAIT-reset: rc=%i", rc);
if (m) MUTEX_UNLOCK(m);
- if (CheckOSError(DosWaitEventSem(*c,SEM_INDEFINITE_WAIT)))
+ if (CheckOSError(DosWaitEventSem(*c,SEM_INDEFINITE_WAIT))
+ && (rc != ERROR_INTERRUPT))
croak("panic: COND_WAIT: rc=%i", rc);
+ if (rc == ERROR_INTERRUPT)
+ errno = EINTR;
if (m) MUTEX_LOCK(m);
}
#endif
@@ -356,7 +359,7 @@ result(int flag, int pid)
/* global Argv[] contains arguments. */
int
-do_aspawn(really, flag, execf)
+do_spawn_ve(really, flag, execf)
SV *really;
U32 flag;
U32 execf;