richter 2005/03/12 05:46:07
Modified: . Changes.pod Embperl.pod TODO epinit.c epmacro.h
podsrc Config.spod
Log:
- doc update
- fix segafault withing Apache::Status
Revision Changes Path
1.268 +2 -0 embperl/Changes.pod
Index: Changes.pod
===================================================================
RCS file: /home/cvs/embperl/Changes.pod,v
retrieving revision 1.267
retrieving revision 1.268
diff -u -r1.267 -r1.268
--- Changes.pod 3 Mar 2005 07:26:39 -0000 1.267
+++ Changes.pod 12 Mar 2005 13:46:07 -0000 1.268
@@ -42,6 +42,8 @@
under EmbperlObject. Reported by Robert Noris.
- Fixed problem when calling Embperl sub via Execute inside a
file that is called via Execute. Reported by Michael Smith.
+ - Fixed segfault when requesting symbol tables informations
+ via Apache::Status, reported by Dan Wilga.
=head1 2.0rc2 21. November 2004
1.91 +3 -0 embperl/Embperl.pod
Index: Embperl.pod
===================================================================
RCS file: /home/cvs/embperl/Embperl.pod,v
retrieving revision 1.90
retrieving revision 1.91
diff -u -r1.90 -r1.91
--- Embperl.pod 28 Feb 2005 06:31:00 -0000 1.90
+++ Embperl.pod 12 Mar 2005 13:46:07 -0000 1.91
@@ -794,6 +794,7 @@
B<NOTE 2:> If you want to output binary data, you must set the escmode
to zero. (only 1.3b6 and above)
+
=over 4
=item B<$escmode = 8 (or 15)> (2.0b4 and above)
@@ -823,6 +824,8 @@
=back
+B<SEE ALSO:> Configuration directive EMBPERL_INPUT_ESCMODE (was optRawInput
in Embperl 1.3.x)
+
=head2 $req_rec
1.135 +3 -0 embperl/TODO
Index: TODO
===================================================================
RCS file: /home/cvs/embperl/TODO,v
retrieving revision 1.134
retrieving revision 1.135
diff -u -r1.134 -r1.135
--- TODO 3 Mar 2005 07:26:40 -0000 1.134
+++ TODO 12 Mar 2005 13:46:07 -0000 1.135
@@ -11,6 +11,9 @@
- make test fedora 1 [13.12.04]
+- escape.htm hash order [ abe 7.3.05]
+
+- Global $r is not available. [ abe 7.3.05]
TODO for Embperl 2.1 and later
1.28 +48 -48 embperl/epinit.c
Index: epinit.c
===================================================================
RCS file: /home/cvs/embperl/epinit.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- epinit.c 3 Mar 2005 07:26:40 -0000 1.27
+++ epinit.c 12 Mar 2005 13:46:07 -0000 1.28
@@ -689,56 +689,56 @@
INTMG (TabMaxCol, pCurrReq -> nTabMaxCol, notused, ;)
INTMG (TabMode, pCurrReq -> nTabMode, notused, ;)
#endif
-INTMG (EscMode, CurrComponent -> Config.nEscMode, notused, NewEscMode
(CurrReq, pSV))
+INTMG_COMP (EscMode, Config.nEscMode, notused, NewEscMode (CurrReq, pSV))
#ifdef EP2
-INTMGshort (CurrNode, CurrComponent -> xCurrNode)
+INTMGshort_COMP (CurrNode, xCurrNode)
#endif
-OPTMGRD (optDisableVarCleanup , CurrComponent -> Config.bOptions)
-OPTMG (optDisableEmbperlErrorPage, CurrComponent -> Config.bOptions)
-OPTMG (optReturnError , CurrComponent -> Config.bOptions)
-OPTMGRD (optSafeNamespace , CurrComponent -> Config.bOptions)
-OPTMGRD (optOpcodeMask , CurrComponent -> Config.bOptions)
-OPTMG (optRawInput , CurrComponent -> Config.bOptions)
-OPTMG (optSendHttpHeader , CurrComponent -> Config.bOptions)
-OPTMGRD (optDisableChdir , CurrComponent -> Config.bOptions)
-OPTMG (optDisableHtmlScan , CurrComponent -> Config.bOptions)
-OPTMGRD (optEarlyHttpHeader , CurrComponent -> Config.bOptions)
-OPTMGRD (optDisableFormData , CurrComponent -> Config.bOptions)
-OPTMG (optDisableInputScan , CurrComponent -> Config.bOptions)
-OPTMG (optDisableTableScan , CurrComponent -> Config.bOptions)
-OPTMG (optDisableMetaScan , CurrComponent -> Config.bOptions)
-OPTMGRD (optAllFormData , CurrComponent -> Config.bOptions)
-OPTMGRD (optRedirectStdout , CurrComponent -> Config.bOptions)
-OPTMG (optUndefToEmptyValue , CurrComponent -> Config.bOptions)
-OPTMG (optNoHiddenEmptyValue , CurrComponent -> Config.bOptions)
-OPTMGRD (optAllowZeroFilesize , CurrComponent -> Config.bOptions)
-OPTMGRD (optKeepSrcInMemory , CurrComponent -> Config.bOptions)
-OPTMG (optKeepSpaces , CurrComponent -> Config.bOptions)
-OPTMG (optOpenLogEarly , CurrComponent -> Config.bOptions)
-OPTMG (optNoUncloseWarn , CurrComponent -> Config.bOptions)
-
-
-OPTMG (dbgStd , CurrComponent -> Config.bDebug)
-OPTMG (dbgMem , CurrComponent -> Config.bDebug)
-OPTMG (dbgEval , CurrComponent -> Config.bDebug)
-OPTMG (dbgCmd , CurrComponent -> Config.bDebug)
-OPTMG (dbgEnv , CurrComponent -> Config.bDebug)
-OPTMG (dbgForm , CurrComponent -> Config.bDebug)
-OPTMG (dbgTab , CurrComponent -> Config.bDebug)
-OPTMG (dbgInput , CurrComponent -> Config.bDebug)
-OPTMG (dbgFlushOutput , CurrComponent -> Config.bDebug)
-OPTMG (dbgFlushLog , CurrComponent -> Config.bDebug)
-OPTMG (dbgAllCmds , CurrComponent -> Config.bDebug)
-OPTMG (dbgSource , CurrComponent -> Config.bDebug)
-OPTMG (dbgFunc , CurrComponent -> Config.bDebug)
-OPTMG (dbgLogLink , CurrComponent -> Config.bDebug)
-OPTMG (dbgDefEval , CurrComponent -> Config.bDebug)
-OPTMG (dbgHeadersIn , CurrComponent -> Config.bDebug)
-OPTMG (dbgShowCleanup , CurrComponent -> Config.bDebug)
-OPTMG (dbgProfile , CurrComponent -> Config.bDebug)
-OPTMG (dbgSession , CurrComponent -> Config.bDebug)
-OPTMG (dbgImport , CurrComponent -> Config.bDebug)
+OPTMGRD_COMP (optDisableVarCleanup , Config.bOptions)
+OPTMG_COMP (optDisableEmbperlErrorPage, Config.bOptions)
+OPTMG_COMP (optReturnError , Config.bOptions)
+OPTMGRD_COMP (optSafeNamespace , Config.bOptions)
+OPTMGRD_COMP (optOpcodeMask , Config.bOptions)
+OPTMG_COMP (optRawInput , Config.bOptions)
+OPTMG_COMP (optSendHttpHeader , Config.bOptions)
+OPTMGRD_COMP (optDisableChdir , Config.bOptions)
+OPTMG_COMP (optDisableHtmlScan , Config.bOptions)
+OPTMGRD_COMP (optEarlyHttpHeader , Config.bOptions)
+OPTMGRD_COMP (optDisableFormData , Config.bOptions)
+OPTMG_COMP (optDisableInputScan , Config.bOptions)
+OPTMG_COMP (optDisableTableScan , Config.bOptions)
+OPTMG_COMP (optDisableMetaScan , Config.bOptions)
+OPTMGRD_COMP (optAllFormData , Config.bOptions)
+OPTMGRD_COMP (optRedirectStdout , Config.bOptions)
+OPTMG_COMP (optUndefToEmptyValue , Config.bOptions)
+OPTMG_COMP (optNoHiddenEmptyValue , Config.bOptions)
+OPTMGRD_COMP (optAllowZeroFilesize , Config.bOptions)
+OPTMGRD_COMP (optKeepSrcInMemory , Config.bOptions)
+OPTMG_COMP (optKeepSpaces , Config.bOptions)
+OPTMG_COMP (optOpenLogEarly , Config.bOptions)
+OPTMG_COMP (optNoUncloseWarn , Config.bOptions)
+
+
+OPTMG_COMP (dbgStd , Config.bDebug)
+OPTMG_COMP (dbgMem , Config.bDebug)
+OPTMG_COMP (dbgEval , Config.bDebug)
+OPTMG_COMP (dbgCmd , Config.bDebug)
+OPTMG_COMP (dbgEnv , Config.bDebug)
+OPTMG_COMP (dbgForm , Config.bDebug)
+OPTMG_COMP (dbgTab , Config.bDebug)
+OPTMG_COMP (dbgInput , Config.bDebug)
+OPTMG_COMP (dbgFlushOutput , Config.bDebug)
+OPTMG_COMP (dbgFlushLog , Config.bDebug)
+OPTMG_COMP (dbgAllCmds , Config.bDebug)
+OPTMG_COMP (dbgSource , Config.bDebug)
+OPTMG_COMP (dbgFunc , Config.bDebug)
+OPTMG_COMP (dbgLogLink , Config.bDebug)
+OPTMG_COMP (dbgDefEval , Config.bDebug)
+OPTMG_COMP (dbgHeadersIn , Config.bDebug)
+OPTMG_COMP (dbgShowCleanup , Config.bDebug)
+OPTMG_COMP (dbgProfile , Config.bDebug)
+OPTMG_COMP (dbgSession , Config.bDebug)
+OPTMG_COMP (dbgImport , Config.bDebug)
1.12 +115 -12 embperl/epmacro.h
Index: epmacro.h
===================================================================
RCS file: /home/cvs/embperl/epmacro.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- epmacro.h 22 Oct 2002 05:29:05 -0000 1.11
+++ epmacro.h 12 Mar 2005 13:46:07 -0000 1.12
@@ -21,19 +21,28 @@
rc = AddMagic (pApp, "Embperl::"#name, &EMBPERL2_mvtTab##name) ;
-#define INTMG(name,var,used,sub) \
+#define INTMG_COMP(name,var,used,sub) \
\
int EMBPERL2_mgGet##name (pTHX_ SV * pSV, MAGIC * mg) \
\
{ \
tReq * r = CurrReq ; \
- tComponent * c = &r -> Component ; \
- tApp * a = r -> pApp ; \
- sv_setiv (pSV, var) ; \
+ tComponent * c ; \
+ tApp * a ; \
+ if (!r) \
+ return 0 ; \
+ c = &r -> Component ; \
+ if (!c) \
+ return 0 ; \
+ a = r -> pApp ; \
+ if (!a) \
+ return 0 ; \
+ \
+ sv_setiv (pSV, c -> var) ; \
if (c -> bReqRunning) \
used++ ; \
if ((c -> Config.bDebug & dbgTab) && c -> bReqRunning) \
- lprintf (a, "[%d]TAB: get %s = %d, Used = %d\n", r -> pThread ->
nPid, #name, var, used) ; \
+ lprintf (a, "[%d]TAB: get %s = %d, Used = %d\n", r -> pThread ->
nPid, #name, c -> var, used) ; \
return 0 ; \
} \
\
@@ -41,30 +50,55 @@
\
{ \
tReq * r = CurrReq ; \
- tComponent * c = &r -> Component ; \
- tApp * a = r -> pApp ; \
- var = SvIV (pSV) ; \
+ tComponent * c ; \
+ tApp * a ; \
+ if (!r) \
+ return 0 ; \
+ c = &r -> Component ; \
+ if (!c) \
+ return 0 ; \
+ a = r -> pApp ; \
+ if (!a) \
+ return 0 ; \
+ \
+ c -> var = SvIV (pSV) ; \
if ((c -> Config.bDebug & dbgTab) && c -> bReqRunning) \
- lprintf (a, "[%d]TAB: set %s = %d, Used = %d\n", r -> pThread ->
nPid, #name, var, used) ; \
+ lprintf (a, "[%d]TAB: set %s = %d, Used = %d\n", r -> pThread ->
nPid, #name, c -> var, used) ; \
sub ; \
return 0 ; \
} \
\
MGVTBL EMBPERL2_mvtTab##name = { EMBPERL2_mgGet##name,
EMBPERL2_mgSet##name, NULL, NULL, NULL } ;
-#define INTMGshort(name,var) \
+#define INTMGshort_COMP(name,var) \
\
int EMBPERL2_mgGet##name (pTHX_ SV * pSV, MAGIC * mg) \
\
{ \
- sv_setiv (pSV, var) ; \
+ tReq * r = CurrReq ; \
+ tComponent * c ; \
+ if (!r) \
+ return 0 ; \
+ c = &r -> Component ; \
+ if (!c) \
+ return 0 ; \
+ \
+ sv_setiv (pSV, c -> var) ; \
return 0 ; \
} \
\
int EMBPERL2_mgSet##name (pTHX_ SV * pSV, MAGIC * mg) \
\
{ \
- var = SvIV (pSV) ; \
+ tReq * r = CurrReq ; \
+ tComponent * c ; \
+ if (!r) \
+ return 0 ; \
+ c = &r -> Component ; \
+ if (!c) \
+ return 0 ; \
+ \
+ c -> var = SvIV (pSV) ; \
return 0 ; \
} \
\
@@ -136,6 +170,75 @@
+#define OPTMGRD_COMP(name,var) \
+ \
+int EMBPERL2_mgGet##name (pTHX_ SV * pSV, MAGIC * mg) \
+\
+ { \
+ tReq * r = CurrReq ; \
+ tComponent * c ; \
+ if (!r) \
+ return 0 ; \
+ c = &r -> Component ; \
+ if (!c) \
+ return 0 ; \
+ \
+ sv_setiv (pSV, (c -> var & name)?1:0) ; \
+ return 0 ; \
+ } \
+\
+int EMBPERL2_mgSet##name (pTHX_ SV * pSV, MAGIC * mg) \
+\
+ { \
+ return 0 ; \
+ } \
+ \
+ MGVTBL EMBPERL2_mvtTab##name = { EMBPERL2_mgGet##name,
EMBPERL2_mgSet##name, NULL, NULL, NULL } ;
+
+
+#define OPTMG_COMP(name,var) \
+ \
+int EMBPERL2_mgGet##name (pTHX_ SV * pSV, MAGIC * mg) \
+\
+ { \
+ tReq * r = CurrReq ; \
+ tComponent * c ; \
+ if (!r) \
+ return 0 ; \
+ c = &r -> Component ; \
+ if (!c) \
+ return 0 ; \
+ \
+\
+ sv_setiv (pSV, (c -> var & name)?1:0) ; \
+ return 0 ; \
+ } \
+\
+int EMBPERL2_mgSet##name (pTHX_ SV * pSV, MAGIC * mg) \
+\
+ { \
+ tReq * r = CurrReq ; \
+ tComponent * c ; \
+ if (!r) \
+ return 0 ; \
+ c = &r -> Component ; \
+ if (!c) \
+ return 0 ; \
+ \
+\
+ if (SvIV (pSV)) \
+ c -> var |= name ; \
+ else \
+ c -> var &= ~name ; \
+ return 0 ; \
+ } \
+ \
+ MGVTBL EMBPERL2_mvtTab##name = { EMBPERL2_mgGet##name,
EMBPERL2_mgSet##name, NULL, NULL, NULL } ;
+
+
+
+
+
#ifdef EPDEBUGALL
#define EPENTRY(func) if (r -> bDebug & dbgFunc) { lprintf (r, "[%d]DBG:
%dms %s\n", r -> nPid, clock () * 1000 / CLOCKS_PER_SEC, #func) ; FlushLog (r)
; }
#define EPENTRY1N(func,arg1) if (r -> bDebug & dbgFunc) { lprintf (r,
"[%d]DBG: %dms %s %d\n", r -> nPid, clock () * 1000 / CLOCKS_PER_SEC, #func,
arg1) ; FlushLog (r) ; }
1.17 +4 -0 embperl/podsrc/Config.spod
Index: Config.spod
===================================================================
RCS file: /home/cvs/embperl/podsrc/Config.spod,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- Config.spod 27 Feb 2005 22:38:35 -0000 1.16
+++ Config.spod 12 Mar 2005 13:46:07 -0000 1.17
@@ -108,6 +108,10 @@
Embperl accepts a lot of configuration directives to customize it's
behaviour. See the next
section for a description.
+B<NOTE:> If mod_perl is staticly linked into Apache you can not use
B<ClearModuleList>
+in your httpd.conf
+
+
=head2 CGI/FastCGI
To use this mode you must copy B<embpcgi.pl> to your cgi-bin
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]