]> git.p6c8.net - selfforum.git/blob - selfforum-cgi/shared/Lock/Handle.pm
3287f6f179076dfbb994b89f4fd090b41dee3c96
[selfforum.git] / selfforum-cgi / shared / Lock / Handle.pm
1 package Lock::Handle;
2
3 ################################################################################
4 # #
5 # File: shared/Lock/Handle.pm #
6 # #
7 # Authors: Andre Malo <nd@o3media.de>, 2001-05-30 #
8 # #
9 # Description: belongs to Locking and Filehandle class #
10 # NOT FOR PUBLIC USE #
11 # #
12 ################################################################################
13
14 use strict;
15 use vars qw(
16 $VERSION
17 );
18
19 use base qw(Lock::_static);
20
21 use Symbol qw(gensym);
22
23 ################################################################################
24 #
25 # Version check
26 #
27 $VERSION = do { my @r =(q$Revision$ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
28
29 ### sub new ####################################################################
30 #
31 # constructor
32 #
33 # Params: $file - filename
34 #
35 # Return: Lock object
36 #
37 sub new {
38 my ($instance, $file) = @_;
39 my $class = ref($instance) || $instance;
40 my $self = bless $class -> _create_handle => $class;
41
42 $self -> set_static (filename => $file);
43
44 $self;
45 }
46
47 ### open () ####################################################################
48 #
49 # open a file
50 #
51 # Params: $mode - open mode
52 #
53 # Return: success code (boolean)
54 #
55 sub open {
56 my ($self, $mode) = @_;
57
58 return unless defined ($mode);
59
60 sysopen ($self, $self->filename, $mode);
61 }
62
63 ### close () ###################################################################
64 #
65 # close a file
66 #
67 # Params: ~none~
68 #
69 # Return: success code (boolean)
70 #
71 sub close {
72 my $self = shift;
73
74 CORE::close $self;
75 }
76
77 ### sub _create_handle #########################################################
78 #
79 # create a globref
80 #
81 # Params: ~none~
82 #
83 # Return: globref
84 #
85 sub _create_handle {gensym}
86
87 # keep 'require' happy
88 1;
89
90 #
91 #
92 ### end of Lock::Handle ########################################################

patrick-canterino.de