/[suikacvs]/webroot/swe/lib/SWE/DB/IDLocks.pm
Suika

Contents of /webroot/swe/lib/SWE/DB/IDLocks.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (hide annotations) (download)
Sun Jul 12 04:00:24 2009 UTC (15 years, 9 months ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +1 -0 lines
++ swe/lib/SWE/DB/ChangeLog	12 Jul 2009 03:59:58 -0000
2009-07-12  Wakaba  <wakaba@suika.fam.cx>

	* NamedText.pm (_get_file_name): Typo.

	* Lock.pm: Check whether any preferable locks are already taken or
	not to avoid deadlocks.

	* IDGenerator.pm (get_next_id): Set lock_type to enable lock order
	control.

	* IDLocks.pm (get_lock): Set lock_type to enable lock order
	control.

++ swe/lib/suikawiki/ChangeLog	12 Jul 2009 04:00:17 -0000
2009-07-12  Wakaba  <wakaba@suika.fam.cx>

	* main.pl: Set |lock_type| to enable lock order control.

1 wakaba 1.1 package SWE::DB::IDLocks;
2     use strict;
3    
4     require SWE::DB::IDProps;
5     push our @ISA, 'SWE::DB::IDProps';
6    
7     require SWE::DB::Lock;
8    
9     sub new ($) {
10     my $self = shift->SUPER::new (@_);
11     $self->{leaf_suffix} = '.lock';
12     return $self;
13     } # new
14    
15     sub get_lock ($$) {
16     my $self = shift;
17 wakaba 1.2 my $file_name = $self->_get_file_name ($_[0], 1);
18 wakaba 1.1
19     my $lock = SWE::DB::Lock->new;
20     $lock->{file_name} = $file_name;
21 wakaba 1.3 $lock->lock_type ('ID');
22 wakaba 1.1
23     return $lock;
24     } # get_lock
25    
26     1;

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24