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