summaryrefslogtreecommitdiff
path: root/os2
diff options
context:
space:
mode:
authorIlya Zakharevich <ilya@math.ohio-state.edu>1996-12-18 18:30:35 +1200
committerChip Salzenberg <chip@atlantic.net>1996-12-19 16:44:00 +1200
commitdf3ef7a9a68db503d1aecd7cb40d5f974fa0066b (patch)
tree3bd7431c5670f1aad273881b0d060c9821758fd5 /os2
parent055be0b80e0d5ab4109104cbf7a5f5379033e671 (diff)
downloadperl-df3ef7a9a68db503d1aecd7cb40d5f974fa0066b.tar.gz
OS/2 updates from Ilya
Diffstat (limited to 'os2')
-rw-r--r--os2/Changes4
-rw-r--r--os2/Makefile.SHs4
-rw-r--r--os2/os2.c2
-rw-r--r--os2/os2ish.h9
4 files changed, 16 insertions, 3 deletions
diff --git a/os2/Changes b/os2/Changes
index f4a0e300d0..83af2d8893 100644
--- a/os2/Changes
+++ b/os2/Changes
@@ -118,3 +118,7 @@ after 5.003_08:
should work on OS/2 2.1 again.
uses reliable signals when spawing.
do not use popen() any more - no intermediate shell unless needed.
+
+after 5.003_11:
+ Functions emx_{malloc,realloc,calloc,free} are exported from DLL.
+ get_sysinfo() bugs corrected (flags were not used and wrongly defined).
diff --git a/os2/Makefile.SHs b/os2/Makefile.SHs
index b6564dffa9..6b07e72dba 100644
--- a/os2/Makefile.SHs
+++ b/os2/Makefile.SHs
@@ -30,6 +30,10 @@ $(AOUT_LIBPERL_DLL): perl.imp perl.dll perl5.def
perl.imp: perl5.def
emximp -o perl.imp perl5.def
+ echo 'emx_calloc emxlibcm 400 ?' >> $@
+ echo 'emx_free emxlibcm 401 ?' >> $@
+ echo 'emx_malloc emxlibcm 402 ?' >> $@
+ echo 'emx_realloc emxlibcm 403 ?' >> $@
perl.dll: $(obj) perl5.def perl$(OBJ_EXT)
$(LD) $(LDDLFLAGS) -o $@ perl$(OBJ_EXT) $(obj) $(libs) perl5.def
diff --git a/os2/os2.c b/os2/os2.c
index 14a6ea0acf..c9d1e55f6c 100644
--- a/os2/os2.c
+++ b/os2/os2.c
@@ -60,7 +60,7 @@ get_sysinfo(ULONG pid, ULONG flags)
rc = QuerySysState(flags, pid, pbuffer, buf_len);
while (rc == ERROR_BUFFER_OVERFLOW) {
Renew(pbuffer, buf_len *= 2, char);
- rc = QuerySysState(QSS_PROCESS, pid, pbuffer, buf_len);
+ rc = QuerySysState(flags, pid, pbuffer, buf_len);
}
if (rc) {
FillOSError(rc);
diff --git a/os2/os2ish.h b/os2/os2ish.h
index d83503d9b9..cf945f36d3 100644
--- a/os2/os2ish.h
+++ b/os2/os2ish.h
@@ -109,6 +109,11 @@ char *my_tmpnam (char *);
#define my_getenv(var) getenv(var)
+void *emx_calloc (size_t, size_t);
+void emx_free (void *);
+void *emx_malloc (size_t);
+void *emx_realloc (void *, size_t);
+
/*****************************************************************************/
#include <stdlib.h> /* before the following definitions */
@@ -203,8 +208,8 @@ char *os2error(int rc);
Dos32QuerySysState(flags, 0, pid, 0, buf, bufsz)
#define QSS_PROCESS 1
-#define QSS_MODULE 2
-#define QSS_SEMAPHORES 4
+#define QSS_MODULE 4
+#define QSS_SEMAPHORES 2
#define QSS_FILE 8 /* Buggy until fixpack18 */
#define QSS_SHARED 16