This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
add refcnt_inc/dec to perldiag
authorFather Chrysostomos <sprout@cpan.org>
Wed, 16 Feb 2011 06:31:23 +0000 (22:31 -0800)
committerFather Chrysostomos <sprout@cpan.org>
Wed, 16 Feb 2011 06:31:23 +0000 (22:31 -0800)
perlio.c
pod/perldiag.pod
t/porting/diag.t

index 6a092d0..42bdb84 100644 (file)
--- a/perlio.c
+++ b/perlio.c
@@ -2412,6 +2412,7 @@ PerlIOUnix_refcnt_inc(int fd)
 
        PL_perlio_fd_refcnt[fd]++;
        if (PL_perlio_fd_refcnt[fd] <= 0) {
+           /* diag_listed_as: refcnt_inc: fd %d%s */
            Perl_croak(aTHX_ "refcnt_inc: fd %d: %d <= 0\n",
                       fd, PL_perlio_fd_refcnt[fd]);
        }
@@ -2422,6 +2423,7 @@ PerlIOUnix_refcnt_inc(int fd)
        MUTEX_UNLOCK(&PL_perlio_mutex);
 #endif
     } else {
+       /* diag_listed_as: refcnt_inc: fd %d%s */
        Perl_croak(aTHX_ "refcnt_inc: fd %d < 0\n", fd);
     }
 }
@@ -2437,10 +2439,12 @@ PerlIOUnix_refcnt_dec(int fd)
        MUTEX_LOCK(&PL_perlio_mutex);
 #endif
        if (fd >= PL_perlio_fd_refcnt_size) {
+           /* diag_listed_as: refcnt_dec: fd %d%s */
            Perl_croak(aTHX_ "refcnt_dec: fd %d >= refcnt_size %d\n",
                       fd, PL_perlio_fd_refcnt_size);
        }
        if (PL_perlio_fd_refcnt[fd] <= 0) {
+           /* diag_listed_as: refcnt_dec: fd %d%s */
            Perl_croak(aTHX_ "refcnt_dec: fd %d: %d <= 0\n",
                       fd, PL_perlio_fd_refcnt[fd]);
        }
@@ -2450,6 +2454,7 @@ PerlIOUnix_refcnt_dec(int fd)
        MUTEX_UNLOCK(&PL_perlio_mutex);
 #endif
     } else {
+       /* diag_listed_as: refcnt_dec: fd %d%s */
        Perl_croak(aTHX_ "refcnt_dec: fd %d < 0\n", fd);
     }
     return cnt;
index 087f906..0187cbc 100644 (file)
@@ -3906,8 +3906,12 @@ which is why it's currently left out of your copy.
 believes it found an infinite loop in the C<@ISA> hierarchy.  This is a
 crude check that bails out after 100 levels of C<@ISA> depth.
 
+=item refcnt_dec: fd %d%s
+
 =item refcnt: fd %d%s
 
+=item refcnt_inc: fd %d%s
+
 (P) Perl's I/O implementation failed an internal consistency check. If
 you see this message, something is very wrong.
 
index f001d94..cc93874 100644 (file)
@@ -459,11 +459,6 @@ Perls since %s too modern--this is %s, stopped
 ptr wrong %p != %p fl=%x nl=%p e=%p for %d
 Recompile perl with -DDEBUGGING to use -D switch (did you mean -d ?)
 Recursive call to Perl_load_module in PerlIO_find_layer
-refcnt_dec: fd %d < 0
-refcnt_dec: fd %d: %d <= 0
-refcnt_dec: fd %d >= refcnt_size %d
-refcnt_inc: fd %d < 0
-refcnt_inc: fd %d: %d <= 0
 Reversed %c= operator
 Runaway prototype
 %s(%.0