view release on metacpan or search on metacpan
bin/dual-lived view on Meta::CPAN
'CPAN::DeferredCode',
'CPAN::Distribution',
'CPAN::Distroprefs',
'CPAN::Distrostatus',
'CPAN::Exception::RecursiveDependency',
'CPAN::Exception::blocked_urllist',
'CPAN::Exception::yaml_not_installed',
'CPAN::FTP',
'CPAN::FTP::netrc',
'CPAN::FirstTime',
'CPAN::HandleConfig',
view all matches for this distribution
view release on metacpan or search on metacpan
bin/dubious_http.pl view on Meta::CPAN
A more complex version would be:
http://ip:port/auto/all/virus.zip|virus.exe|mynovirus.exe
Assuming the virus.* contains the X-Virus header while mynovirus.exe does
not it will first check with a fully correct and simple response if the
firewall blocks virus.zip. If not it will retry with virus.exe and if this
is not blocked too it will assume that the firewall is not able to block the
virus at all. But if any of these will result in a block it will use it for
all the further tests. Since mynovirus.exe does not contain the X-Virus
header it will assumed to be innocent and used to check for overblocking
instead of the builtin novirus.txt.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/DumpChromeHistory.pm view on Meta::CPAN
push @rows, $row->{url};
}
}
};
my $err = $@;
if ($err && $err =~ /database is locked/) {
if ((-s $history_path) <= $args{copy_size_limit}) {
log_debug "Database is locked ($err), will try to copy and query the copy instead ...";
require File::Copy;
require File::Temp;
my ($temp_fh, $temp_path) = File::Temp::tempfile();
File::Copy::copy($history_path, $temp_path) or die $err;
$history_path = $temp_path;
redo SELECT;
} else {
log_debug "Database is locked ($err) but is too big, will wait instead";
}
}
} # SELECT
} # for profile
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/DumpFirefoxHistory.pm view on Meta::CPAN
schema => 'bool*',
default => 0,
'summary' => 'Attempt to open the original history database '.
'first instead of directly copying the database',
'summary.alt.bool.not' => 'Do not attempt to open the original history database '.
'(and possibly get a "locked" error), proceed directly to copy it',
},
copy_size_limit => {
schema => 'posint*',
default => 100*1024*1024,
description => <<'_',
lib/App/DumpFirefoxHistory.pm view on Meta::CPAN
}
};
my $err = $@;
log_info "Got DBI error: $@" if $err;
COPY: {
unless (!$args{attempt_orig_first} && $num_attempts == 1 || $err && $err =~ /database is locked/) {
last;
}
my $size = -s $history_path;
unless ($size <= $args{copy_size_limit}) {
log_trace "Not copying history database to tempfile, size too large (%.1fMB)", $size/1024/1024;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Egaz.pm view on Meta::CPAN
blastlink: link sequences by blastn
blastmatch: matched positions by blastn in genome sequences
blastn: blastn wrapper between two fasta files
exactmatch: exact matched positions in genome sequences
fas2vcf: list variations in blocked fasta file
formats: formats of files use in this project
lastz: lastz wrapper for two genomes or self alignments
lav2axt: convert .lav files to .axt
lav2psl: convert .lav files to .psl
lpcnam: the pipeline of pairwise lav-psl-chain-net-axt-maf
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/EmacsLockfileUtils.pm view on Meta::CPAN
=item * L<emacs-lockfile-get>
=item * L<emacs-lockfile-lock>
=item * L<emacs-lockfile-locked>
=item * L<emacs-lockfile-unlock>
=back
view all matches for this distribution
view release on metacpan or search on metacpan
share/status/app/lib/angular/angular.js view on Meta::CPAN
* // Allow same origin resource loads.
* 'self',
* // Allow loading from our assets domain. Notice the difference between * and **.
* 'http://srv*.assets.example.com/**']);
*
* // The blacklist overrides the whitelist so the open redirect here is blocked.
* $sceDelegateProvider.resourceUrlBlacklist([
* 'http://myapp.example.com/clickThru**']);
* });
* </pre>
*/
share/status/app/lib/angular/angular.js view on Meta::CPAN
allowed = true;
break;
}
}
if (allowed) {
// Ensure that no item from the blacklist blocked this url.
for (i = 0, n = resourceUrlBlacklist.length; i < n; i++) {
if (matchUrl(resourceUrlBlacklist[i], parsedUrl)) {
allowed = false;
break;
}
share/status/app/lib/angular/angular.js view on Meta::CPAN
if (type === SCE_CONTEXTS.RESOURCE_URL) {
if (isResourceUrlAllowedByPolicy(maybeTrusted)) {
return maybeTrusted;
} else {
throw $sceMinErr('insecurl',
'Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}',
maybeTrusted.toString());
}
} else if (type === SCE_CONTEXTS.HTML) {
return htmlSanitizer(maybeTrusted);
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Fasops.pm view on Meta::CPAN
__END__
=head1 NAME
App::Fasops - operating blocked fasta files
=head1 SYNOPSIS
fasops <command> [-?h] [long options...]
-? -h --help show help
lib/App/Fasops.pm view on Meta::CPAN
Available commands:
commands: list the application's commands
help: display a command's help screen
axt2fas: convert axt to blocked fasta
check: check genome locations in (blocked) fasta headers
concat: concatenate sequence pieces in blocked fasta files
consensus: create consensus from blocked fasta file
covers: scan blocked fasta files and output covers on chromosomes
join: join multiple blocked fasta files by common target
links: scan blocked fasta files and output bi/multi-lateral range links
maf2fas: convert maf to blocked fasta
mergecsv: merge csv files based on @fields
names: scan blocked fasta files and output all species names
refine: realign blocked fasta file with external programs
replace: replace headers from a blocked fasta
separate: separate blocked fasta files by species
slice: extract alignment slices from a blocked fasta
split: split blocked fasta files to per-alignment files
stat: basic statistics on alignments
subset: extract a subset of species from a blocked fasta
xlsx: paint substitutions and indels to an excel file
See C<fasops commands> for usage information.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Fetchware/Util.pm view on Meta::CPAN
# clean won't delete this fetchware temporary directory.
my $fh_sem;
###BUGALERT### Add support for the -f/--force option to force deleting fetchware
#temp dirs even if locked.
sub create_tempdir {
my %opts = @_;
msg 'Creating temp dir to use to install your package.';
lib/App/Fetchware/Util.pm view on Meta::CPAN
App-Fetchware-Util: Failed to flock [fetchware.sem] semaphore lock file! This
should not happen, because this is being done in a brand new temporary directory
that only this instance of fetchware cares about. This just shouldn't happen. OS
error [$!].
EOD
vmsg "Successfully locked [fetchware.sem] semaphore lock file using flock.";
msg "Temporary directory created [$temp_dir]";
return $temp_dir;
}
lib/App/Fetchware/Util.pm view on Meta::CPAN
to HTTP::Tiny, which does not check them for correctness either. HTTP::Tiny
simply loops over its internal listing of what is arguments should be, and then
accesses the arguments if they exist.
This was really only implemented to allow App::FetchwareX::HTMLPageSync to change
its user agent string to avoid being blocked or freaking out Web developers that
they're being screen scraped by some obnoxious bot as HTMLPageSync is wimpy and
harmless, and only downloads one page.
You would add an argument like this:
download_http_url($http_url, agent => 'Firefox');
lib/App/Fetchware/Util.pm view on Meta::CPAN
=head3 Locking Fetchware's temp directories with a semaphore file.
In order to support C<fetchware clean>, create_tempdir() creates a semaphore
file. The file is used by C<fetchware clean> (via bin/fetchware's cmd_clean())
to determine if another fetchware process out there is currently using this
temporary directory, and if it is not, the file is not currently locked with
flock, then the entire directory is deleted using File::Path's remove_path()
function. If the file is there and locked, then the directory is skipped by
cmd_clean().
cleanup_tempdir() is responsible for unlocking the semaphore file that
create_tempdir() creates. However, the coolest part of using flock is that if
fetchware is killed in any manner whether its C<END> block or File::Temp's
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/GSD.pm view on Meta::CPAN
sub network_command {
my $self = shift;
return $self->{network_command};
}
# List of sites to be blocked
sub blocklist {
my $self = shift;
my $block = $self->{block};
return map { ($_, "www.$_") } @$block;
}
lib/App/GSD.pm view on Meta::CPAN
=head1 SYNOPSIS
use App::GSD;
my $app = App:GSD->new({ block => [qw(foo.com bar.com baz.com)] });
$app->work; # sites are now blocked
$app->play; # unblocked
=head1 METHODS
=head2 new ( \%args )
lib/App/GSD.pm view on Meta::CPAN
=over
=item block
An arrayref of hostnames to block, without a 'www.' prefix (if
present) as these will be blocked automatically.
=item hosts_file
Path to the hosts file (e.g. '/etc/hosts'), overriding the
module's guess based on current operating system.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/GitHooks/Plugin/ForceRegularUpdate.pm view on Meta::CPAN
update_file = /var/local/.last_update.txt
=head2 max_update_age
This indicates the maximum amount of time that may have elapsed since the last
update, before commits are blocked.
max_update_age = 2 * 24 * 3600 # 2 days
Note that this configuration option supports comments at the end, for
readability.
view all matches for this distribution
view release on metacpan or search on metacpan
# App::GitHub::Repository [](https://github.com/JJ/p5-app-github-repository/actions/workflows/test.yml)
Checks things from repositories hosted in GitHub. Uses scraping for extracting
information, so you don't have to use an API. Bear in mind that you can do so
only locally, it is probably blocked from workflows, even in GitHub itself.
## INSTALLATION
It uses Module::Build for installation, so it goes like this
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Gitc/Util.pm view on Meta::CPAN
traverse_commits
unmerged_changesets
unpromoted
user_lookup_class
version_tag_prefix
state_blocked
);
}
sub confirm {
lib/App/Gitc/Util.pm view on Meta::CPAN
return $statuses->{$target};
}
sub state_blocked {
my ( $command, $state ) = @_;
my $statuses = its_config()->{ $command }
or die 'No ' . its()->label_service . " statuses for $command";
lib/App/Gitc/Util.pm view on Meta::CPAN
=head2 _states
Used internally to calculate target for state change.
=head2 state_blocked
Given a C<command> and a specified C<state> this checks the block list in the
project configuration and returns true if the state should block the command
from proceeding.
view all matches for this distribution
view release on metacpan or search on metacpan
the corresponding private keys are able to decrypt the passphrase and
access the secret.
The encrypted secret and passphrase are stored in a single keyfile. You
can even commit the keyfile in a public repo or in a private repo where
some untrusted users may have read access; the secret is locked away to
all except those with a private key to a corresponding public key that
has been added to the keyfile.
The keyfile is just a YAML file, so it's human-readable (except of
course for the encrypted parts). This make it easy to add to version
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/KeePass2.pm view on Meta::CPAN
{ title => 'Bank',
group => $gid,
icon => $self->get_icon_id_from_key('dollar')
}
);
$self->_fkp->unlock if $self->_fkp->is_locked;
my $master = $self->_get_master_key;
my $confirm = $self->_get_confirm_key;
croak "Your master password is different from the confirm password !"
if $master ne $confirm;
$self->_fkp->save_db( $self->file, $master );
view all matches for this distribution
view release on metacpan or search on metacpan
share/js/core/jquery-3.2.1.js view on Meta::CPAN
/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */
!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof windo...
a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var...
null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d...
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/MHFS.pm view on Meta::CPAN
return $bytes;
}
#sub LOCK_GET_FILESIZE {
# my ($filename) = @_;
# my $lockedfilesize = LOCK_GET_LOCKDATA($filename);
# if(defined $lockedfilesize) {
#
# }
#}
sub LOCK_WRITE {
lib/App/MHFS.pm view on Meta::CPAN
$is_flac = 1;
$file = $tlossy;
if(defined LOCK_GET_LOCKDATA($tlossy)) {
# unlikely
say "SendLocalTrack: lossy flac exists and is locked 503";
$request->Send503;
return;
}
}
else {
lib/App/MHFS.pm view on Meta::CPAN
read($terr, $buf, 4096);
}});
}
else {
# unlikely
say "SendLocalTrack: lossy flac is locked 503";
$request->Send503;
}
return;
}
lib/App/MHFS.pm view on Meta::CPAN
read($terr, $buf, 4096);
}});
}
else {
# unlikely
say "SendLocalTrack: sox is locked 503";
$request->Send503;
}
return;
}
view all matches for this distribution
view release on metacpan or search on metacpan
root/js/ext-3.3.1/ext-all.js view on Meta::CPAN
* Ext JS Library 3.3.1
* Copyright(c) 2006-2010 Sencha Inc.
* licensing@sencha.com
* http://www.sencha.com/license
*/
(function(){var h=Ext.util,k=Ext.each,g=true,i=false;h.Observable=function(){var l=this,m=l.events;if(l.listeners){l.on(l.listeners);delete l.listeners}l.events=m||{}};h.Observable.prototype={filterOptRe:/^(?:scope|delay|buffer|single)$/,fireEvent:fu...
/* SWFObject v2.2 <http://code.google.com/p/swfobject/>
is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
var swfobject=function(){var F="undefined",t="object",U="Shockwave Flash",Y="ShockwaveFlash.ShockwaveFlash",s="application/x-shockwave-flash",T="SWFObjectExprInst",z="onreadystatechange",Q=window,l=document,v=navigator,V=false,W=[i],q=[],P=[],K=[],n,...
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/MiseEnPlace.pm view on Meta::CPAN
if( -e -d $dir ) {
$msg = colored('exists ','green') if $self->verbose();
}
elsif( -e $dir and ! -l $dir ) {
$msg = colored('ERROR: blocked by non-dirctory','bold white on_red');
}
else {
path( $dir )->mkpath();
$msg = colored('created','bold black on_green');
}
lib/App/MiseEnPlace.pm view on Meta::CPAN
symlink $src , $target;
$msg = colored( 'fixed' , 'bold black on_yellow' ) . ' ';
}
}
elsif ( -e $target ) {
$msg = colored( 'ERROR: blocked by existing file' , 'bold white on_red' );
}
else {
symlink $src , $target;
$msg = colored( 'created' , 'bold black on_green' );
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/MojoSlides/files/public/jquery.min.js view on Meta::CPAN
/*! jQuery v2.0.3 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery-2.0.3.min.map
*/
(function(e,undefined){var t,n,r=typeof undefined,i=e.location,o=e.document,s=o.documentElement,a=e.jQuery,u=e.$,l={},c=[],p="2.0.3",f=c.concat,h=c.push,d=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,x=function(e,n){return new x.fn.in...
};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return q.get(e,n)||q.access(e,n,{empty:x.Callbacks("once memory").add(funct...
},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var Xt,Ut,Yt=x.now(),Vt=/\?/,Gt=/#.*$/,Jt=/([?&])_=[^&]*/,Qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Kt=/^(?:a...
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/MtAws/IntermediateFile.pm view on Meta::CPAN
'Cannot create temporary file in directory %string dir%, errors: %error%',
dir => $dir, error => hex_dump_string($@);
};
my $binary_tempfile = $self->{tmp}->filename;
$self->{tempfile} = characterfilename($binary_tempfile);
# it's important to close file, it's filename can be passed to different process, and it can be locked
close $self->{tmp} or confess;
}
sub tempfilename
{
view all matches for this distribution
view release on metacpan or search on metacpan
lib/ChordPro/Config.pm view on Meta::CPAN
sub unlock ( $self ) {
Hash::Util::unlock_hashref_recurse($self);
}
sub is_locked ( $self ) {
Hash::Util::hashref_locked($self);
}
# Augment / Reduce.
sub augment ( $self, $hash ) {
my $locked = $self->is_locked;
$self->unlock if $locked;
$self->_augment( $hash, "" );
$self->lock if $locked;
$self;
}
lib/ChordPro/Config.pm view on Meta::CPAN
use constant DEBUG => 0;
sub reduce ( $self, $hash ) {
my $locked = $self->is_locked;
warn("O: ", qd($hash,1), "\n") if DEBUG > 1;
warn("N: ", qd($self,1), "\n") if DEBUG > 1;
my $state = _reduce( $self, $hash, "" );
$self->lock if $locked;
warn("== ", qd($self,1), "\n") if DEBUG > 1;
return $self;
}
view all matches for this distribution
view release on metacpan or search on metacpan
public/javascripts/ace.js view on Meta::CPAN
(function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMES...
window.require(["ace/ace"], function(a) {
if (a) {
a.config.init(true);
a.define = window.define;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Netdisco/Backend/Role/Manager.pm view on Meta::CPAN
use List::Util 'sum';
use App::Netdisco::Util::MCE;
use App::Netdisco::Backend::Job;
use App::Netdisco::JobQueue
qw/jq_locked jq_getsome jq_lock jq_warm_thrusters/;
use Role::Tiny;
use namespace::clean;
sub worker_begin {
lib/App/Netdisco/Backend/Role/Manager.pm view on Meta::CPAN
$self->{queue}->enqueuep(200,
App::Netdisco::Backend::Job->new({ job => 0, action => 'primeskiplist' }));
# requeue jobs locally
debug "mgr ($wid): searching for jobs booked to this processing node";
my @jobs = jq_locked;
if (scalar @jobs) {
info sprintf "mgr (%s): found %s jobs booked to this processing node",
$wid, scalar @jobs;
$self->{queue}->enqueuep(100, @jobs);
view all matches for this distribution
view release on metacpan or search on metacpan
share/mib/CISCO-TC.my view on Meta::CPAN
'ficonVsanDown (61)' - FICON VSAN down.
'invalidAttachment (62)' - invalid attachment.
'portBlocked (63)' - port blocked due to FICON.
'incomAdminRxBbCreditPerBuf (64)' - disabled due to
incompatible administrative port rxbbcredit,
performance buffers.
share/mib/CISCO-TC.my view on Meta::CPAN
portBindFailure(58),
portFabricBindFailure(59),
noCommonVsanIsolation(60),
ficonVsanDown(61),
invalidAttachment(62),
portBlocked(63),
incomAdminRxBbCreditPerBuf(64),
tooManyInvalidFlogis(65),
deniedDueToPortBinding(66),
elpFailureRevMismatch(67),
elpFailureClassFParamErr(68),
view all matches for this distribution
view release on metacpan or search on metacpan
$app->set_filename( $file ) if $file;
$app->set_raw() if $raw;
$app->set_rawqr() if $rawqr;
$app->init() if $init;
$app->get_lock() || die 'File is already locked';
if ( $newpass ) {
$app->set_newpass( $newpass );
if ( $add ) {
$app->add_entry( $add );
view all matches for this distribution
view release on metacpan or search on metacpan
t/data/user_beancounters view on Meta::CPAN
Version: 2.5
uid resource held maxheld barrier limit failcnt
106: kmemsize 1834376 3718847 22231449 24454593 4
lockedpages 0 0 1085 1085 0
privvmpages 143828 151659 621763 683939 0
shmpages 52 2740 62176 62176 0
dummy 0 0 0 0 0
numproc 73 95 1000 1000 0
physpages 5792 10280 0 2147483647 0
t/data/user_beancounters view on Meta::CPAN
dummy 0 0 0 0 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
numiptent 10 10 200 200 0
201: kmemsize 2416618 5688979 268435455 268435455 0
lockedpages 0 0 64 64 0
privvmpages 48075 60152 589824 642900 0
shmpages 14 14 16384 16384 0
dummy 0 0 0 0 0
numproc 31 75 200 200 0
physpages 27647 39137 0 2147483647 0
t/data/user_beancounters view on Meta::CPAN
dummy 0 0 0 0 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
numiptent 10 10 256 256 0
103: kmemsize 2733911 3966203 268435455 268435455 0
lockedpages 0 0 64 64 0
privvmpages 77926 88500 214300 214300 0
shmpages 14 14 16384 16384 0
dummy 0 0 0 0 0
numproc 44 62 140 180 0
physpages 55232 62452 0 268435455 0
t/data/user_beancounters view on Meta::CPAN
dummy 0 0 0 0 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
numiptent 10 10 256 256 0
102: kmemsize 2876962 4313365 268435455 268435455 0
lockedpages 0 0 64 64 0
privvmpages 59999 68279 196608 214300 0
shmpages 1294 2670 16384 16384 0
dummy 0 0 0 0 0
numproc 50 72 180 180 0
physpages 23406 30174 0 268435455 0
t/data/user_beancounters view on Meta::CPAN
dummy 0 0 0 0 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
numiptent 10 10 256 256 0
104: kmemsize 2623183 3739217 268435455 268435455 0
lockedpages 0 0 64 64 0
privvmpages 56578 69676 196608 214300 0
shmpages 14 14 16384 16384 0
dummy 0 0 0 0 0
numproc 41 64 200 200 0
physpages 31977 39730 0 268435455 0
t/data/user_beancounters view on Meta::CPAN
dummy 0 0 0 0 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
numiptent 10 10 256 256 0
0: kmemsize 201103757 268514137 2147483647 2147483647 0
lockedpages 0 0 2147483647 2147483647 0
privvmpages 8988 23990 2147483647 2147483647 0
shmpages 1280 1936 2147483647 2147483647 0
dummy 0 0 2147483647 2147483647 0
numproc 76 93 2147483647 2147483647 0
physpages 2246 19853 2147483647 2147483647 0
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/OverWatch/Lock.pm view on Meta::CPAN
has mtime => ( is => 'ro' );
has worker => ( is => 'ro' );
has text => ( is => 'ro' );
has status => ( is => 'ro' );
sub is_locked {
my $self = shift;
return 1 if ($self->status() eq 'LOCKED');
return 0;
}
lib/App/OverWatch/Lock.pm view on Meta::CPAN
=head2 status
=head1 METHODS
=head2 is_locked
Returns 1 if locked, 0 otherwise.
=head2 print
Print to stdout.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/PerlXLock.pm view on Meta::CPAN
sub main_loop {
my $d = open_connection();
lock_all($d);
grab_keyboard( $d, 0 );
my $locked = 1;
while ($locked) {
check_event($d);
if ( $buffer[-1] && $buffer[-1] eq "\n" ) {
pop(@buffer);
if ( password_accessible() ) {
for my $n ( 0 .. $#buffer ) {
if ( check_password( join( "", @buffer[ $n .. $#buffer ] ) ) ) {
$locked = 0;
}
}
}
else {
$locked = 0;
}
@buffer = ();
}
}
unlock_all($d);
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Phoebe.pm view on Meta::CPAN
my $host = shift;
my $space = shift;
my $code = shift;
my $count = shift || 0;
my $dir = wiki_dir($host, $space);
my $lock = "$dir/locked";
# remove stale locks
if (-e $lock) {
my $age = time() - modified($lock);
$log->debug("lock is ${age}s old");
rmdir $lock if -e $lock and $age > 5;
}
if (mkdir($lock)) {
$log->debug("Running code with lock $lock");
eval { $code->() }; # protect against exceptions
if ($@) {
$log->error("Unable to run code with locked $lock: $@");
result($stream, "40", "An error occured, unfortunately");
$stream->close_gracefully();
}
# in the successful case, with_lock doesn't close in case there is more code
# that needs to run, or possibly $code has closed the stream.
rmdir($lock);
} elsif ($count > 25) {
$log->error("Unable to unlock $lock");
result($stream, "40", "The wiki is locked; try again in a few seconds");
$stream->close_gracefully();
} else {
$log->debug("Waiting $count...");
Mojo::IOLoop->timer(0.2 => sub {
with_lock($stream, $host, $space, $code, $count + 1)});
view all matches for this distribution