X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=ext%2Fattrs%2Fattrs.pm;h=483d14803e2be75ee7027d647b0ac200df68bef2;hb=e67426a489d5f4a242c5edc688e24e7e32e60c26;hp=01a0de36748c446410871c841485a7d41f41fa98;hpb=74efa5a2169712a879c65f86ca8d53d55975e1a2;p=p5sagit%2Fp5-mst-13.2.git diff --git a/ext/attrs/attrs.pm b/ext/attrs/attrs.pm index 01a0de3..483d148 100644 --- a/ext/attrs/attrs.pm +++ b/ext/attrs/attrs.pm @@ -1,14 +1,11 @@ package attrs; -require DynaLoader; -use vars '@ISA'; -@ISA = 'DynaLoader'; +use XSLoader (); -use vars qw($VERSION); -$VERSION = "1.0"; +$VERSION = "1.01"; =head1 NAME -attrs - set/get attributes of a subroutine +attrs - set/get attributes of a subroutine (deprecated) =head1 SYNOPSIS @@ -21,45 +18,41 @@ attrs - set/get attributes of a subroutine =head1 DESCRIPTION -This module lets you set and get attributes for subroutines. +NOTE: Use of this pragma is deprecated. Use the syntax + + sub foo : locked method { } + +to declare attributes instead. See also L. + +This pragma lets you set and get attributes for subroutines. Setting attributes takes place at compile time; trying to set invalid attribute names causes a compile-time error. Calling -C on a subroutine reference or name returns its list -of attribute names. Notice that C is not exported. +C on a subroutine reference or name returns its list +of attribute names. Notice that C is not exported. Valid attributes are as follows. -=over +=over 4 =item method Indicates that the invoking subroutine is a method. -=item package - -If the subroutine is locked, lock the package in which it is -defined. - =item locked Setting this attribute is only meaningful when the subroutine or -method is to be called by multiple threads. When the B -attribute is set then before executing the subroutine or method -perl acquires a lock on the package in which the subroutine is -defined. - -Otherwise, when set on a method subroutine (i.e. one -marked with the B attribute above), perl ensures that any -invocation of it implicitly locks its first argument before -execution. When set on a non-method subroutine, -(without a B attribute) perl ensures that a lock is taken -on the subroutine itself before execution. The semantics of the -lock are exactly those of one explicitly taken with the C -operator immediately after the subroutine is entered. +method is to be called by multiple threads. When set on a method +subroutine (i.e. one marked with the B attribute above), +perl ensures that any invocation of it implicitly locks its first +argument before execution. When set on a non-method subroutine, +perl ensures that a lock is taken on the subroutine itself before +execution. The semantics of the lock are exactly those of one +explicitly taken with the C operator immediately after the +subroutine is entered. =back =cut -bootstrap attrs $VERSION; +XSLoader::load 'attrs', $VERSION; 1;