From: Jarkko Hietaniemi Date: Mon, 2 Jul 2001 13:36:58 +0000 (+0000) Subject: Netware tweaks from Guruprasad. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=9219c8ded06600040fa6d862a60325b5afc73df4;p=p5sagit%2Fp5-mst-13.2.git Netware tweaks from Guruprasad. p4raw-id: //depot/perl@11090 --- diff --git a/MANIFEST b/MANIFEST index 12b7047..592df56 100644 --- a/MANIFEST +++ b/MANIFEST @@ -550,7 +550,6 @@ ext/Time/Piece/Piece.xs Time::Piece extension ext/Time/Piece/README Time::Piece extension ext/Time/Piece/Seconds.pm Time::Piece extension ext/util/make_ext Used by Makefile to execute extension Makefiles -ext/util/mkbootstrap Turns ext/*/*_BS into bootstrap info ext/XS/Typemap/Makefile.PL XS::Typemap extension ext/XS/Typemap/README XS::Typemap extension ext/XS/Typemap/stdio.c XS::Typemap extension @@ -1529,7 +1528,6 @@ NetWare/NWTInfo.c Netware port NetWare/nwtinfo.h Netware port NetWare/NWUtil.c Netware port NetWare/nwutil.h Netware port -NetWare/perlsdio.h Netware port NetWare/t/NWModify.pl Netware port NetWare/t/NWScripts.pl Netware port NetWare/t/Readme.txt Netware port diff --git a/NetWare/Makefile b/NetWare/Makefile index 4ac2091..10b3d23 100644 --- a/NetWare/Makefile +++ b/NetWare/Makefile @@ -15,7 +15,7 @@ ## This file is created by using the makefile that creates Windows Perl as the reference ## Author: sgp ## Date Created: 13th July 2000 -## Date Modified: 30th June 2001 +## Date Modified: 2nd July 2001 # Name of the NLM NLM_NAME = perl.nlm @@ -1479,8 +1479,11 @@ distclean: clean nwclean cd ..\netware !if "$(NW_EXTNS)"=="yes" cd cgi2perl - -del *.obj *.bs Makefile *$(o) *.c pm_to_blib *.xdc *.err + -del *.obj *.bs Makefile *$(o) *.c pm_to_blib *.xdc *.err *.sym *.map cd .. + cd $(EXTDIR)\Perl2UCS + -del *.obj *.bs Makefile *$(o) *.c pm_to_blib *.xdc *.err *.sym *.map *.c + cd ..\..\netware !endif -rmdir /s /q $(AUTODIR) || rmdir /s $(AUTODIR) -rmdir /s /q $(COREDIR) || rmdir /s $(COREDIR) diff --git a/NetWare/interface.c b/NetWare/interface.c index 3525dcc..c526fbd 100644 --- a/NetWare/interface.c +++ b/NetWare/interface.c @@ -8,17 +8,17 @@ */ /* - * FILENAME : interface.c - * DESCRIPTION : Perl parsing and running functions. - * Author : SGP - * Date : January 2001. - * + * FILENAME : interface.c + * DESCRIPTION : Calling Perl APIs. + * Author : SGP + * Date Created : January 2001. + * Date Modified: July 2nd 2001. */ #include "interface.h" - +#include "nwtinfo.h" static void xs_init(pTHX); @@ -42,6 +42,18 @@ ClsPerlHost::VersionNumber() return 0; } +bool +ClsPerlHost::RegisterWithThreadTable() +{ + return(fnRegisterWithThreadTable()); +} + +bool +ClsPerlHost::UnregisterWithThreadTable() +{ + return(fnUnregisterWithThreadTable()); +} + int ClsPerlHost::PerlCreate(PerlInterpreter *my_perl) { diff --git a/NetWare/interface.h b/NetWare/interface.h index f574166..ab24e5c 100644 --- a/NetWare/interface.h +++ b/NetWare/interface.h @@ -8,11 +8,11 @@ */ /* - * FILENAME : interface.c - * DESCRIPTION : Perl parsing and running functions. - * Author : SGP - * Date : January 2001. - * + * FILENAME : interface.c + * DESCRIPTION : Perl parsing and running functions. + * Author : SGP + * Date Created : January 2001. + * Date Modified: July 2nd 2001. */ @@ -36,7 +36,8 @@ public: int PerlParse(PerlInterpreter *my_perl, int argc, char** argv, char** env); int PerlRun(PerlInterpreter *my_perl); void PerlDestroy(PerlInterpreter *my_perl); - + bool RegisterWithThreadTable(void); + bool UnregisterWithThreadTable(void); }; diff --git a/NetWare/iperlhost.h b/NetWare/iperlhost.h index e07a14f..4079a6e 100644 --- a/NetWare/iperlhost.h +++ b/NetWare/iperlhost.h @@ -8,11 +8,11 @@ */ /* - * FILENAME : iperlhost.h - * DESCRIPTION : IPerlHost class file. - * Author : SGP - * Date : January 2001. - * + * FILENAME : iperlhost.h + * DESCRIPTION : IPerlHost class file. + * Author : SGP + * Date Created : January 2001. + * Date Modified: July 2nd 2001. */ @@ -34,7 +34,8 @@ public: virtual int PerlParse(PerlInterpreter *my_perl,int argc, char** argv, char** env) = 0; virtual int PerlRun(PerlInterpreter *my_perl) = 0; virtual void PerlDestroy(PerlInterpreter *my_perl) = 0; - + virtual bool RegisterWithThreadTable(void)=0; + virtual bool UnregisterWithThreadTable(void)=0; }; extern "C" IPerlHost* AllocStdPerl(); diff --git a/NetWare/nwtinfo.h b/NetWare/nwtinfo.h index fd004bc..25d78a7 100644 --- a/NetWare/nwtinfo.h +++ b/NetWare/nwtinfo.h @@ -8,11 +8,11 @@ */ /* - * FILENAME : NWTInfo.h - * DESCRIPTION : Thread-local storage for Perl. - * Author : SGP, HYAK - * Date : January 2001. - * + * FILENAME : NWTInfo.h + * DESCRIPTION : Thread-local storage for Perl. + * Author : SGP, HYAK + * Date Created : January 2001. + * Date Modified: July 2nd 2001. */ @@ -33,19 +33,25 @@ typedef struct tagThreadInfo void fnInitializeThreadInfo(void); BOOL fnTerminateThreadInfo(void); -BOOL fnRegisterWithThreadTable(void); -BOOL fnUnregisterWithThreadTable(void); ThreadInfo* fnAddThreadInfo(int tid); BOOL fnRemoveThreadInfo(int tid); ThreadInfo* fnGetThreadInfo(int tid); -//For storing and retrieving Watcom Hash list address #ifdef __cplusplus + //For storing and retrieving Watcom Hash list address extern "C" BOOL fnInsertHashListAddrs(void *addrs, BOOL dontTouchHashList); + //Registering with the Thread table + extern "C" BOOL fnRegisterWithThreadTable(void); + extern "C" BOOL fnUnregisterWithThreadTable(void); #else + //For storing and retrieving Watcom Hash list address BOOL fnInsertHashListAddrs(void *addrs, BOOL dontTouchHashList); + //Registering with the Thread table + BOOL fnRegisterWithThreadTable(void); + BOOL fnUnregisterWithThreadTable(void); #endif + BOOL fnGetHashListAddrs(void **addrs, BOOL *dontTouchHashList); //New TLS to set and get the thread contex - may be redundant, diff --git a/NetWare/perlsdio.h b/NetWare/perlsdio.h deleted file mode 100644 index fad4277..0000000 --- a/NetWare/perlsdio.h +++ /dev/null @@ -1,18 +0,0 @@ ---- perlsdio.h.old Sat Jun 30 14:42:22 2001 -+++ perlsdio.h Sat Jun 30 14:59:49 2001 -@@ -1,4 +1,9 @@ - #ifdef PERLIO_IS_STDIO -+ -+#ifdef NETWARE -+ #include "nwstdio.h" -+#else -+ - /* - * This file #define-s the PerlIO_xxx abstraction onto stdio functions. - * Make this as close to original stdio as possible. -@@ -136,4 +141,5 @@ - #define PerlIO_get_bufsiz(f) (abort(),0) - #endif - -+#endif /* NETWARE */ - #endif /* PERLIO_IS_STDIO */ diff --git a/perlsdio.h b/perlsdio.h index da45c32..a1d2bec 100644 --- a/perlsdio.h +++ b/perlsdio.h @@ -1,4 +1,9 @@ #ifdef PERLIO_IS_STDIO + +#ifdef NETWARE + #include "nwstdio.h" +#else + /* * This file #define-s the PerlIO_xxx abstraction onto stdio functions. * Make this as close to original stdio as possible. @@ -136,4 +141,5 @@ #define PerlIO_get_bufsiz(f) (abort(),0) #endif +#endif /* NETWARE */ #endif /* PERLIO_IS_STDIO */