You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by st...@apache.org on 2003/05/12 02:11:24 UTC
cvs commit: modperl-2.0 STATUS Changes
stas 2003/05/11 17:11:24
Modified: xs/APR/PerlIO apr_perlio.c
. STATUS Changes
Log:
perl 5.8.0 forgets to export PerlIOBase_noop_fail, causing problems on
win32 and aix. reimplement this function locally to solve the
problem. APR::PerlIO should now be useful on win32 and aix
Revision Changes Path
1.26 +8 -9 modperl-2.0/xs/APR/PerlIO/apr_perlio.c
Index: apr_perlio.c
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/APR/PerlIO/apr_perlio.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- apr_perlio.c 15 Apr 2003 01:17:24 -0000 1.25
+++ apr_perlio.c 12 May 2003 00:11:24 -0000 1.26
@@ -372,6 +372,12 @@
return -1;
}
+/* 5.8.0 doesn't export PerlIOBase_noop_fail, so we duplicate it here */
+static IV PerlIOAPR_noop_fail(pTHX_ PerlIO *f)
+{
+ return -1;
+}
+
static PerlIO_funcs PerlIO_APR = {
sizeof(PerlIO_funcs),
"APR",
@@ -391,7 +397,7 @@
PerlIOAPR_tell,
PerlIOAPR_close,
PerlIOAPR_flush, /* flush */
- PerlIOBase_noop_fail, /* fill */
+ PerlIOAPR_noop_fail, /* fill */
PerlIOAPR_eof,
PerlIOBase_error,
PerlIOBase_clearerr,
@@ -502,7 +508,7 @@
type);
}
-#elif !defined(PERLIO_LAYERS) && !defined(WIN32) /* NOT PERLIO_LAYERS (5.6.1) */
+#else /* NOT PERLIO_LAYERS (5.6.1) */
static FILE *apr_perlio_apr_file_to_FILE(pTHX_ apr_file_t *file,
apr_perlio_hook_e type)
@@ -584,13 +590,6 @@
void apr_perlio_init(pTHX)
{
APR_REGISTER_OPTIONAL_FN(apr_perlio_apr_file_to_glob);
-}
-
-#else
-
-void apr_perlio_init(pTHX)
-{
- Perl_croak(aTHX_ "APR::PerlIO not usable with this version of Perl");
}
#endif /* PERLIO_LAYERS */
1.52 +1 -9 modperl-2.0/STATUS
Index: STATUS
===================================================================
RCS file: /home/cvs/modperl-2.0/STATUS,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -r1.51 -r1.52
--- STATUS 22 Apr 2003 06:12:47 -0000 1.51
+++ STATUS 12 May 2003 00:11:24 -0000 1.52
@@ -70,14 +70,6 @@
symbol resolution at linking time, but I had not much success with
using this approach (dlopen fails).
- win32 and aix have a problem with PerlIOBase_noop_fail symbol not
- being exported by libperl.so, used in apr_perlio.c (both platforms
- need symbol export files. So currently win32 simply can't use
- APR::PerlIO and should be fixed. Notice that perl doesn't export
- any of the PerlIOBase_* symbols. If that's the intention of not
- exposing the internal API, we need to find a way not to use the
- PerlIOBase_* symbols in apr_perlio.c
-
* we have a dependency check problem when xs/*/*.h use code from
xs/modperl_xs*.h, when the latter change 'make' won't rebuild the
dependant files
1.185 +4 -0 modperl-2.0/Changes
Index: Changes
===================================================================
RCS file: /home/cvs/modperl-2.0/Changes,v
retrieving revision 1.184
retrieving revision 1.185
diff -u -r1.184 -r1.185
--- Changes 9 May 2003 03:33:02 -0000 1.184
+++ Changes 12 May 2003 00:11:24 -0000 1.185
@@ -12,6 +12,10 @@
=item 1.99_10-dev
+perl 5.8.0 forgets to export PerlIOBase_noop_fail, causing problems on
+win32 and aix. reimplement this function locally to solve the
+problem. APR::PerlIO should now be useful on win32 and aix [Stas]
+
allow init filter handlers to call other methods than just $f->ctx [Stas]
Fix Apache::Reload to gracefully handle the case with empty Touchfiles