view release on metacpan or search on metacpan
lib/DateTime/Set.pm view on Meta::CPAN
Note that this recurrence takes leap seconds into account. Consider
using C<truncate()> in this manner to avoid complicated arithmetic
problems!
It is also possible to create a recurrence by specifying either or both
of 'next' and 'previous' callbacks.
The callbacks can return C<DateTime::Infinite::Future> and
C<DateTime::Infinite::Past> objects, in order to define I<bounded
recurrences>. In this case, both 'next' and 'previous' callbacks must
be defined:
# "monthly from $dt until forever"
my $months = DateTime::Set->from_recurrence(
view all matches for this distribution
view release on metacpan or search on metacpan
examples/web/jquery-1.5.2.js view on Meta::CPAN
promiseMethods = "then done fail isResolved isRejected promise".split( " " ),
// Static reference to slice
sliceDeferred = [].slice;
jQuery.extend({
// Create a simple deferred (one callbacks list)
_Deferred: function() {
var // callbacks list
callbacks = [],
// stored [ context , args ]
fired,
// to avoid firing when already doing so
firing,
// flag to know if the deferred has been cancelled
examples/web/jquery-1.5.2.js view on Meta::CPAN
elem = args[ i ];
type = jQuery.type( elem );
if ( type === "array" ) {
deferred.done.apply( deferred, elem );
} else if ( type === "function" ) {
callbacks.push( elem );
}
}
if ( _fired ) {
deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] );
}
examples/web/jquery-1.5.2.js view on Meta::CPAN
if ( !cancelled && !fired && !firing ) {
// make sure args are available (#8421)
args = args || [];
firing = 1;
try {
while( callbacks[ 0 ] ) {
callbacks.shift().apply( context, args );
}
}
finally {
fired = [ context, args ];
firing = 0;
examples/web/jquery-1.5.2.js view on Meta::CPAN
},
// Cancel
cancel: function() {
cancelled = 1;
callbacks = [];
return this;
}
};
return deferred;
},
// Full fledged deferred (two callbacks list)
Deferred: function( func ) {
var deferred = jQuery._Deferred(),
failDeferred = jQuery._Deferred(),
promise;
// Add errorDeferred methods, then and promise
examples/web/jquery-1.5.2.js view on Meta::CPAN
( callbackContext.nodeType || callbackContext instanceof jQuery ) ?
jQuery( callbackContext ) : jQuery.event,
// Deferreds
deferred = jQuery.Deferred(),
completeDeferred = jQuery._Deferred(),
// Status-dependent callbacks
statusCode = s.statusCode || {},
// ifModified key
ifModifiedKey,
// Headers (they are sent all at once)
requestHeaders = {},
examples/web/jquery-1.5.2.js view on Meta::CPAN
deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
} else {
deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
}
// Status-dependent callbacks
jqXHR.statusCode( statusCode );
statusCode = undefined;
if ( fireGlobals ) {
globalEventContext.trigger( "ajax" + ( isSuccess ? "Success" : "Error" ),
examples/web/jquery-1.5.2.js view on Meta::CPAN
deferred.promise( jqXHR );
jqXHR.success = jqXHR.done;
jqXHR.error = jqXHR.fail;
jqXHR.complete = completeDeferred.done;
// Status-dependent callbacks
jqXHR.statusCode = function( map ) {
if ( map ) {
var tmp;
if ( state < 2 ) {
for( tmp in map ) {
examples/web/jquery-1.5.2.js view on Meta::CPAN
jqXHR.abort();
return false;
}
// Install callbacks on deferreds
for ( i in { success: 1, error: 1, complete: 1 } ) {
jqXHR[ i ]( s[ i ] );
}
// Get transport
examples/web/jquery-1.5.2.js view on Meta::CPAN
jsonpCallback: function() {
return jQuery.expando + "_" + ( jsc++ );
}
});
// Detect, normalize options and install callbacks for jsonp requests
jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
var dataIsString = ( typeof s.data === "string" );
if ( s.dataTypes[ 0 ] === "jsonp" ||
examples/web/jquery-1.5.2.js view on Meta::CPAN
} );
var // #5280: next active xhr id and list of active xhrs' callbacks
xhrId = jQuery.now(),
xhrCallbacks,
// XHR used to determine supports properties
testXHR;
examples/web/jquery-1.5.2.js view on Meta::CPAN
// and has been retrieved directly (IE6 & IE7)
// we need to manually fire the callback
if ( !s.async || xhr.readyState === 4 ) {
callback();
} else {
// Create the active xhrs callbacks list if needed
// and attach the unload handler
if ( !xhrCallbacks ) {
xhrCallbacks = {};
xhrOnUnloadAbort();
}
// Add to list of active xhrs callbacks
handle = xhrId++;
xhr.onreadystatechange = xhrCallbacks[ handle ] = callback;
}
},
view all matches for this distribution
view release on metacpan or search on metacpan
t/examples/traces/1.txt view on Meta::CPAN
Memcached::libmemcached::memcached_behavior_set
Memcached::libmemcached::MEMCACHED_BEHAVIOR_RETRY_TIMEOUT
Memcached::libmemcached::memcached_behavior_set
Memcached::libmemcached::MEMCACHED_BEHAVIOR_CONNECT_TIMEOUT
Memcached::libmemcached::memcached_behavior_set
MyLibmemcachedWrapper::_mk_callbacks (/media/sf_FictionHub/XPortal/Memcached.pm:300-346)
Scalar::Util::weaken
Memcached::libmemcached::set_callback_coderefs
Data::MessagePack::new (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/Data/MessagePack.pm:34-37)
CODE(0x4a817b8)
Cache::Memcached::libmemcached::add ((eval 27)[/opt/perl5.26.1/lib/site_perl/5.26.1/Cache/Memcached/libmemcached.pm:62]:1-12)
t/examples/traces/1.txt view on Meta::CPAN
Memcached::libmemcached::memcached_behavior_set
Memcached::libmemcached::MEMCACHED_BEHAVIOR_NO_BLOCK
Memcached::libmemcached::memcached_behavior_set
Memcached::libmemcached::MEMCACHED_BEHAVIOR_NOREPLY
Memcached::libmemcached::memcached_behavior_set
MyLibmemcachedWrapper::_mk_callbacks (/media/sf_FictionHub/XPortal/Memcached.pm:300-346)
Scalar::Util::weaken
Memcached::libmemcached::set_callback_coderefs
Data::MessagePack::new (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/Data/MessagePack.pm:34-37)
CODE(0x4a817b8)
Cache::Memcached::libmemcached::get ((eval 25)[/opt/perl5.26.1/lib/site_perl/5.26.1/Cache/Memcached/libmemcached.pm:62]:1-12)
t/examples/traces/1.txt view on Meta::CPAN
XPortal::XSL::TransformXMLLocal (/media/sf_FictionHub/XPortal/XSL.pm:205-211)
XPortal::XSL::LibXSL::TransformXMLLocal (/media/sf_FictionHub/XPortal/XSL/LibXSL.pm:147-162)
XPortal::XSL::set_hash_debug (/media/sf_FictionHub/XPortal/XSL.pm:66-82)
XPortal::XSL::LibXSL::ParseXML (/media/sf_FictionHub/XPortal/XSL/LibXSL.pm:164-201)
XML::LibXML::parse_string (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:827-869)
XML::LibXML::_init_callbacks (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:735-744)
XML::LibXML::InputCallback::new (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:2277-2280)
XML::LibXML::InputCallback::init_callbacks (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:2308-2349)
XML::LibXML::InputCallback::lib_init_callbacks
XML::LibXML::match_callback (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:468-481)
XML::LibXML::open_callback (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:513-526)
XML::LibXML::read_callback (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:483-496)
XML::LibXML::close_callback (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:498-511)
XML::LibXML::_parse_string
XML::LibXML::_auto_expand (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:716-733)
XML::LibXML::expand_xinclude (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:672-675)
XML::LibXML::__parser_option (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:553-566)
XML::LibXML::_cleanup_callbacks (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:746-749)
XML::LibXML::InputCallback::cleanup_callbacks (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:2352-2364)
XML::LibXML::InputCallback::lib_cleanup_callbacks
CODE(0x2b3acc8)
XPortal::XSL::LibXSL::ApplyXML (/media/sf_FictionHub/XPortal/XSL/LibXSL.pm:203-237)
XPortal::Profiler::ProfileEventStart (/media/sf_FictionHub/XPortal/Profiler.pm:20-28)
Time::HiRes::gettimeofday
XPortal::XSL::LibXSL::GetReadyXSLT (/media/sf_FictionHub/XPortal/XSL/LibXSL.pm:287-292)
XML::LibXSLT::parse_stylesheet_file (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXSLT.pm:277-305)
XML::LibXSLT::_init_callbacks (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXSLT.pm:217-236)
XML::LibXML::InputCallback::new (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:2277-2280)
XML::LibXSLT::match_callback (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXSLT.pm:135-148)
XML::LibXSLT::open_callback (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXSLT.pm:180-193)
XML::LibXSLT::read_callback (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXSLT.pm:150-163)
XML::LibXSLT::close_callback (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXSLT.pm:165-178)
XML::LibXML::InputCallback::init_callbacks (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:2308-2349)
XML::LibXML::InputCallback::lib_init_callbacks
XML::LibXSLT::_parse_stylesheet_file
XML::LibXML::InputCallback::_callback_match (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:2198-2223)
XML::LibXML::InputCallback::_callback_match (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:2198-2223)
XML::LibXML::InputCallback::_callback_match (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:2198-2223)
XML::LibXML::InputCallback::_callback_match (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:2198-2223)
t/examples/traces/1.txt view on Meta::CPAN
XML::LibXML::InputCallback::_callback_match (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:2198-2223)
XML::LibXML::InputCallback::_callback_match (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:2198-2223)
XML::LibXML::InputCallback::_callback_match (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:2198-2223)
XML::LibXML::InputCallback::_callback_match (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:2198-2223)
XML::LibXML::InputCallback::_callback_match (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:2198-2223)
XML::LibXSLT::_cleanup_callbacks (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXSLT.pm:238-245)
XML::LibXML::InputCallback::cleanup_callbacks (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:2352-2364)
XML::LibXML::InputCallback::lib_cleanup_callbacks
XML::LibXSLT::match_callback (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXSLT.pm:135-148)
XPortal::Profiler::ProfileEventEnd (/media/sf_FictionHub/XPortal/Profiler.pm:39-60)
Time::HiRes::gettimeofday
XPortal::Profiler::ProfileEventStart (/media/sf_FictionHub/XPortal/Profiler.pm:20-28)
Time::HiRes::gettimeofday
XPortal::XSL::set_hash (/media/sf_FictionHub/XPortal/XSL.pm:83-111)
XML::LibXSLT::StylesheetWrapper::transform (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXSLT.pm:464-478)
XML::LibXSLT::StylesheetWrapper::_init_callbacks (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXSLT.pm:425-448)
XML::LibXSLT::StylesheetWrapper::match_callback (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXSLT.pm:343-356)
XML::LibXSLT::StylesheetWrapper::open_callback (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXSLT.pm:388-401)
XML::LibXSLT::StylesheetWrapper::read_callback (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXSLT.pm:358-371)
XML::LibXSLT::StylesheetWrapper::close_callback (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXSLT.pm:373-386)
XML::LibXML::InputCallback::init_callbacks (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:2308-2349)
XML::LibXML::InputCallback::lib_init_callbacks
XML::LibXSLT::Stylesheet::transform
XML::LibXSLT::perl_dispatcher (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXSLT.pm:59-87)
CODE(0x83ebe28)
XPortal::Profiler::ProfileEventStart (/media/sf_FictionHub/XPortal/Profiler.pm:20-28)
Time::HiRes::gettimeofday
t/examples/traces/1.txt view on Meta::CPAN
Time::HiRes::gettimeofday
XPortal::XSL::RevisionNumber (/media/sf_FictionHub/XPortal/XSL.pm:49-55)
XPortal::Profiler::ProfileEventEnd (/media/sf_FictionHub/XPortal/Profiler.pm:39-60)
Time::HiRes::gettimeofday
XML::LibXML::Node::DESTROY
XML::LibXSLT::StylesheetWrapper::_cleanup_callbacks (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXSLT.pm:450-462)
XML::LibXML::InputCallback::cleanup_callbacks (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXML.pm:2352-2364)
XML::LibXML::InputCallback::lib_cleanup_callbacks
XML::LibXSLT::StylesheetWrapper::match_callback (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXSLT.pm:343-356)
XPortal::Profiler::ProfileEventEnd (/media/sf_FictionHub/XPortal/Profiler.pm:39-60)
Time::HiRes::gettimeofday
XML::LibXSLT::StylesheetWrapper::output_string (/opt/perl5.26.1/lib/site_perl/5.26.1/x86_64-linux-5.26.0-thread-multi-ld/XML/LibXSLT.pm:510-510)
XML::LibXSLT::Stylesheet::_output_string
view all matches for this distribution
view release on metacpan or search on metacpan
t/17-db-event-loop.t view on Meta::CPAN
# Tests that callbacks are routed properly when more than one debugger is attached
use strict;
use warnings;
use Test2::V0; no warnings 'void';
BEGIN { $^P = 0x73f } # Turn on all the debugging stuff
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Devel/CompiledCalls.pm view on Meta::CPAN
perl -MDevel::CompiledCalls=foo -e '...'
In both these cases the standard callback - which simply prints to STDERR - will
be installed.
=head2 Custom callbacks
Custom callbacks can be installed with the C<attach_callback> subroutine.
This routine is not exported and must be called with a fully qualified
function call.
=over
view all matches for this distribution
view release on metacpan or search on metacpan
- Profiling and speedups
- Collect data for path coverage
- Mutation coverage
- Regular Expression coverage
- Indicate how to increase coverage?
- BEGIN and CHECK blocks and code in modules. Requires callbacks from perl?
- Create a base class for Devel::Cover::Branch and Devel::Cover::Condition
- Handle C< $y || "${p}qqq" >
- 22:09 <@nothingmuch> return, redo, next, last, goto should probably all
be treated as short circuiting
- Add aliased subroutines to subroutine coverage
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Devel/Declare/Lexer.pm view on Meta::CPAN
sub call_lexed
{
my ($name, $stream) = @_;
$DEBUG and print STDERR "Checking for callbacks for keyword '$name'\n";
$DEBUG and print STDERR Dumper($stream) . "\n";
my $callback = $named_lexed_stack{$name};
if($callback) {
$DEBUG and print STDERR "Found callback '$callback' for keyword '$name'\n";
view all matches for this distribution
view release on metacpan or search on metacpan
- Add Devel::Declare::Context::Simple and
Devel::Declare::MethodInstaller::Simple as an experimental way to make
creating block- and sub-like keywords easier (Rhesa Rozendaal).
0.002999_01 - 2008-10-24
- Use B::Hooks::OP::Check to register PL_check callbacks.
- Use B::Hooks::EndOfScope instead of %^H and Scope::Guard.
- Don't segfault if HvNAME(PL_curstash) == NULL.
- Don't segfault on 5.9.5+, where PL_parser is a symbol, not a define.
- Don't delete the previous symbol table entry when shadowing subs. This
makes us work within the debugger.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Devel/EnforceEncapsulation.pm view on Meta::CPAN
eval "{package $dest_pkg; no overload $overloads, 'fallback';}";
die $EVAL_ERROR if $EVAL_ERROR;
return;
}
## possible callbacks to be installed via overload ##
sub _deref_overload_croak {
my $self = shift;
my $caller_pkg = caller;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Devel/Events/Filter/Stringify.pm view on Meta::CPAN
This filter prevents leaks from happenning when an event logger is used by
simply stringifying all data.
Note that objects that overload stringification will *not* have their
stringification callbacks activated unless C<respect_overloading> is set to a
true value.
=head1 SUBCLASSING
In order ot perform custom dumps of objects that are more descriptive or even
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Devel/Examine/Subs.pm view on Meta::CPAN
=back
=head2 C<pre_procs>, C<post_procs>, C<engines>
For development. Returns the list of the respective built-in callbacks.
=head1 PARAMETERS
lib/Devel/Examine/Subs.pm view on Meta::CPAN
State: Transient
Default: undef
These are mainly used to set up the public methods with the proper callbacks
used by the C<run()> command.
C<engine> and C<pre_proc> take either a single string that contains a valid
built-in callback, or a single code reference of a custom callback.
view all matches for this distribution
view release on metacpan or search on metacpan
bin/perlbrewise-spec view on Meta::CPAN
For deserialization there are only two cases to consider: either
nonstandard tagging was used, in which case C<allow_tags> decides,
or objects cannot be automatically be deserialized, in which
case you can use postprocessing or the C<filter_json_object> or
C<filter_json_single_key_object> callbacks to get some real objects our of
your JSON.
This section only considers the tagged value case: I a tagged JSON object
is encountered during decoding and C<allow_tags> is disabled, a parse
error will result (as if tagged values were not part of the grammar).
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Devel/Leak/Cb.pm view on Meta::CPAN
use strict;
use warnings;
}x;
=head1 NAME
Devel::Leak::Cb - Detect leaked callbacks
=head1 VERSION
Version 0.04
lib/Devel/Leak/Cb.pm view on Meta::CPAN
=head1 EXPORT
Exports a single function: cb {}, which would be rewritten as sub {} when C<$ENV{DEBUG_CB}> is not in effect
If C<DEBUG_CB> > 1 and L<Devel::FindRef> is installed, then output will include reference tree of leaked callbacks
=head1 FUNCTIONS
=head2 cb {}
lib/Devel/Leak/Cb.pm view on Meta::CPAN
my $cb = cb 'name' {};
my $cb = cb "name.$val" {};
=head2 COUNT
You may call C<Devel::Leak::Cb::COUNT()> Manually to check state. All leaked callbacks will be warned. Noop without C<$ENV{DEBUG_CB}>
=cut
use Devel::Declare ();
use Scalar::Util 'weaken';
view all matches for this distribution
view release on metacpan or search on metacpan
}
return err;
}
int hash_set_callbacks( hash * h, void *cbd,
int ( *cb_add ) ( hash * h, void *d, void **v ),
int ( *cb_del ) ( hash * h, void *d, void *v ),
int ( *cb_upd ) ( hash * h, void *d, void *ov,
void **nv ) ) {
h->cbd = cbd;
return err;
}
/* Iterate through the keys copying entries one at a time. This has the
* happy side effect of clearing out the garbage left by any deleted keys.
* Any callbacks that are installed for the original hash won't be in
* effect on the new hash so there's no need to worry about any side
* effects they might have. Once the new hash data is moved back into the
* original hash any callbacks will automatically take effect again.
*/
key = hash_get_first_key( h, &i, &key_len );
while ( key ) {
if ( err =
hash_put( nh, key, key_len, hash_get( h, key, key_len ) ),
else {
/* Replace an existing entry.
*/
sl = ( hash_slot * ) ( ( char * )h->buf.buf + s );
/* If the value is actually changing inform any callbacks */
if ( sl->v != val ) {
if ( h->cb_upd ) {
if ( err =
h->cb_upd( h, h->cbd, sl->v, &val ),
ERR_None != err ) {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Devel/LineTrace.pm view on Meta::CPAN
perl -d:LineTrace myscript.pl [args ...]
=head1 DESCRIPTION
This is a class that enables assigning Perl code callbacks to certain
lines in the original code B<without modifying it>.
To do so prepare a file with the following syntax:
[source_filename]:[line]
view all matches for this distribution
view release on metacpan or search on metacpan
0.09 Fri, Sep 23, 2011
- Close issue #2 - Use BSD::Process maxrss instead of rssize, which was incorrect
- Out of beta!
0.08 Sun, Jun 26, 2011
- Close issue #1 - callbacks could cause memory growth and incorrect results
0.07 Sat, Jun 11, 2011
- Better test case to ensure memory traces are detected
0.06 Fri, Jun 10, 2011
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Devel/NYTProf.pm view on Meta::CPAN
=head2 Perl 5.10.1+ (or else 5.8.9+) is Recommended
These versions of perl yield much more detailed information about calls to
BEGIN, CHECK, INIT, and END blocks, the code handling tied or overloaded
variables, and callbacks from XS code.
Perl 5.12 will hopefully also fix an inaccuracy in the timing of the last
statement and the condition clause of some kinds of loops:
L<http://rt.perl.org/rt3/Ticket/Display.html?id=60954>
lib/Devel/NYTProf.pm view on Meta::CPAN
For example, the L<Readonly> module croaks with "Invalid tie" when profiled with
perl versions before 5.8.8. That's because L<Readonly> explicitly checking for
certain values from caller(). The L<NEXT> module is also affected.
=head2 For perl < 5.10.1 it can't see some implicit calls and callbacks
For perl versions prior to 5.8.9 and 5.10.1, some implicit subroutine calls
can't be seen by the I<subroutine> profiler. Technically this affects calls
made via the various perl C<call_*()> internal APIs.
For example, BEGIN/CHECK/INIT/END blocks, the C<TIE>I<whatever> subroutine
called by C<tie()>, all calls made via operator overloading, and callbacks from
XS code, are not seen.
The effect is that time in those subroutines is accumulated by the
subs that triggered the call to them. So time spent in calls invoked by
perl to handle overloading are accumulated by the subroutines that trigger
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Devel/Profiler.pm view on Meta::CPAN
There are no items in this list by default. Be sure to specify the
fully-qualified name - i.e. "Time::HiRes::time" not just "time".
=item sub_filter
The sub_filter option allows you to specify one or more callbacks to
be used to decide whether to profile a subroutine or not. The callbacks
will recieve two parameters - the package name and the subroutine
name.
For example, to avoid wrapping all upper-case subroutines:
view all matches for this distribution
view release on metacpan or search on metacpan
0.01 2012-09-29 Tim Bunce
* Created new Devel::Memory extension using a modified version of
Devel::Size's perl memory data crawler, extended to support
callbacks, a 'data path name' concept, data streaming,
data processing and visualization.
* The Devel::Memory core was based on 0.77. The generic changes
will be fed back to Devel::Size so it will remain the
canonical source of knowledge of how to crawl perl internals.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Devel/StatProfiler.pm view on Meta::CPAN
will report that the code at F<foo.pl> line 10 has spent approximately
the same time in calling C<foo> and C<bar>, and will report C<foo> as
being called from the main program rather than from C<bar>.
=head2 XSUBs with callbacks
Since XSUBs don't have a Perl-level stack frame, Perl code called from
XSUBs is reported as if called from the source line calling the XSUB.
Additionally, the exclusive time for the XSUB incorrectly includes the
time spent in callbacks.
=head2 XSUBs and overload
If an object has an overloaded C<&{}> operator (code dereference)
returning an XSUB as the code reference, the overload might be called
lib/Devel/StatProfiler.pm view on Meta::CPAN
=head2 changing profiler state
Calling C<enable_profile>, C<disable_profile> and
C<stop_profile> from an inner runloop (including but not limited to
from C<use>, C<require>, C<sort> blocks, callbacks invoked from XS
code) can have confusing results: runloops started afterwards will
honor the new state, outer runloops will not.
Unfortunately there is no way to detect the situaltion at the moment.
view all matches for this distribution
view release on metacpan or search on metacpan
xt/author/pod_spelling_system.t view on Meta::CPAN
TODO
filename
filenames
login
callback
callbacks
standalone
VMS
hostname
hostnames
TCP
view all matches for this distribution
view release on metacpan or search on metacpan
xt/author/pod_spelling_system.t view on Meta::CPAN
TODO
filename
filenames
login
callback
callbacks
standalone
VMS
hostname
hostnames
TCP
view all matches for this distribution
view release on metacpan or search on metacpan
Be aware that most perlTk applications have a central event loop.
User actions, such as mouse clicks, key presses, window exposures, etc
will generate 'events' that the script will process. When a perlTk
application is running, its 'MainLoop' call will accept these events
and then dispatch them to appropriate callbacks associated with the
appropriate widgets.
Ptkdb has its own event loop that runs whenever you've stopped at a
breakpoint and entered the debugger. However, it can accept events
that are generated by other perlTk windows and dispatch their
callbacks. The problem here is that the application is supposed to be
'stopped', and logically the application should not be able to process
events.
A future version of ptkdb will have an extension that will 'filter'
events so that application events are not processed while the debugger
view all matches for this distribution
view release on metacpan or search on metacpan
Be aware that most perlTk applications have a central event loop.
User actions, such as mouse clicks, key presses, window exposures, etc
will generate 'events' that the script will process. When a perlTk
application is running, its 'MainLoop' call will accept these events
and then dispatch them to appropriate callbacks associated with the
appropriate widgets.
Ptkdb has its own event loop that runs whenever you've stopped at a
breakpoint and entered the debugger. However, it can accept events
that are generated by other perlTk windows and dispatch their
callbacks. The problem here is that the application is supposed to be
'stopped', and logically the application should not be able to process
events.
=head2 Debugging CGI Scripts
view all matches for this distribution
view release on metacpan or search on metacpan
Be aware that most perlTk applications have a central event loop.
User actions, such as mouse clicks, key presses, window exposures, etc
will generate 'events' that the script will process. When a perlTk
application is running, its 'MainLoop' call will accept these events
and then dispatch them to appropriate callbacks associated with the
appropriate widgets.
=head2 Debugging CGI Scripts
One advantage of ptkdb over the builtin debugger(-d) is that it can be
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Developer/Dashboard.pm view on Meta::CPAN
render boilerplate. C<stream_data()> and C<stream_value()> now use
C<XMLHttpRequest> progress events for browser-visible incremental updates, so
a saved C</ajax/...> endpoint that prints early output updates the DOM before
the request finishes. Those helpers support plain text, JSON, and HTML output
modes, and the saved Ajax endpoint bindings now run after the page declares
its endpoint root object, so C<$(document).ready(...)> callbacks can call
helpers such as C<fetch_value(endpoints.foo, '#foo')> on first render.
=head2 User CLI Extensions
Unknown top-level subcommands can be provided by executable files under
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Device/Ericsson/AccessoryMenu.pm view on Meta::CPAN
=head2 control
Respond to what the phone is sending back over the port, invoking
callbacks and all that jazz.
=cut
sub control {
my $self = shift;
view all matches for this distribution
view release on metacpan or search on metacpan
Changes
CONTRIBUTING
environment
examples/example-blink.pl
examples/example-callbacks.pl
examples/example-i2c.pl
examples/example-matrix-draw.pl
examples/example-matrix-time.pl
examples/example-matrix-time2.pl
examples/example-matrix.pl
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Device/GPS.pm view on Meta::CPAN
is => 'ro',
isa => 'Device::GPS::Connection',
required => 1,
);
has '_callbacks' => (
is => 'ro',
isa => 'HashRef[ArrayRef[CodeRef]]',
default => sub {{
CALLBACK_POSITION => [],
CALLBACK_ACTIVE_SATS => [],
lib/Device/GPS.pm view on Meta::CPAN
sub add_callback
{
my ($self, $type, $callback) = @_;
push @{ $self->_callbacks->{$type} }, $callback;
return 1;
}
sub parse_next
{
lib/Device/GPS.pm view on Meta::CPAN
my ($type, @data) = split /,/, $sentence;
my $checksum = pop @data;
# TODO verify checksum
@data = $self->_convert_data_by_type( $type, @data );
foreach my $callback (@{ $self->_callbacks->{$type} }) {
$callback->(@data);
}
return 1;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Device/PaloAlto/Firewall/Test.pm view on Meta::CPAN
my %args = validate(@_,
{
percent => {
type => SCALAR,
default => 1,
callbacks => {
'valid_percent' => sub{ $_[0] > 0 and $_[0] <= 100; }
},
}
}
);
view all matches for this distribution