summaryrefslogtreecommitdiff
path: root/win32/perllib.c
diff options
context:
space:
mode:
authorNick Ing-Simmons <nik@tiuk.ti.com>2002-01-13 15:37:48 +0000
committerNick Ing-Simmons <nik@tiuk.ti.com>2002-01-13 15:37:48 +0000
commit222c300afb1c8466398010a3403616462c302185 (patch)
tree3052a09d573e8ac38633d71d30ee02d9283c0799 /win32/perllib.c
parent26bf1728b5f258bdc26021f9eb583c46488b8859 (diff)
downloadperl-222c300afb1c8466398010a3403616462c302185.tar.gz
Win32 fixes:
- vmem.h hack to handle free-by-wrong-thread after eval "". - Initialize timerid p4raw-id: //depot/perlio@14232
Diffstat (limited to 'win32/perllib.c')
-rw-r--r--win32/perllib.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/win32/perllib.c b/win32/perllib.c
index 6243a79fd3..4e4c113964 100644
--- a/win32/perllib.c
+++ b/win32/perllib.c
@@ -33,6 +33,17 @@ xs_init(pTHX)
#include "perlhost.h"
+void
+win32_checkTLS(PerlInterpreter *host_perl)
+{
+ dTHX;
+ if (host_perl != my_perl) {
+ int *nowhere = NULL;
+ *nowhere = 0;
+ abort();
+ }
+}
+
EXTERN_C void
perl_get_host_info(struct IPerlMemInfo* perlMemInfo,
struct IPerlMemInfo* perlMemSharedInfo,
@@ -105,6 +116,7 @@ perl_alloc_override(struct IPerlMem** ppMem, struct IPerlMem** ppMemShared,
pHost->m_pHostperlProc);
if (my_perl) {
w32_internal_host = pHost;
+ pHost->host_perl = my_perl;
}
}
return my_perl;
@@ -127,6 +139,7 @@ perl_alloc(void)
pHost->m_pHostperlProc);
if (my_perl) {
w32_internal_host = pHost;
+ pHost->host_perl = my_perl;
}
}
return my_perl;
@@ -287,6 +300,7 @@ perl_clone_host(PerlInterpreter* proto_perl, UV flags) {
h->m_pHostperlProc
);
proto_perl->Isys_intern.internal_host = h;
+ h->host_perl = proto_perl;
return proto_perl;
}