]> git.p6c8.net - selfforum.git/blobdiff - selfforum-cgi/shared/Lock/API.pm
improved the behavior of get_all_threads and create_forum_xml_string
[selfforum.git] / selfforum-cgi / shared / Lock / API.pm
index 21f3ecfd8356474dd2ddca325d80178cb0afd33d..8210ef7aaba89b477ab24d03cf7a9b1981ed8782 100644 (file)
@@ -4,7 +4,7 @@ package Lock::API;
 #                                                                              #
 # File:        shared/Lock/API.pm                                              #
 #                                                                              #
 #                                                                              #
 # File:        shared/Lock/API.pm                                              #
 #                                                                              #
-# Authors:     Andre Malo       <nd@o3media.de>, 2001-05-25                    #
+# Authors:     André Malo <nd@o3media.de>                                      #
 #                                                                              #
 # Description: system independent part of Locking and Filehandle class         #
 #              NOT FOR PUBLIC USE                                              #
 #                                                                              #
 # Description: system independent part of Locking and Filehandle class         #
 #              NOT FOR PUBLIC USE                                              #
@@ -12,10 +12,6 @@ package Lock::API;
 ################################################################################
 
 use strict;
 ################################################################################
 
 use strict;
-use vars qw(
-  $VERSION
-);
-
 use Carp;
 
 use base qw(
 use Carp;
 
 use base qw(
@@ -27,7 +23,11 @@ use base qw(
 #
 # Version check
 #
 #
 # Version check
 #
-$VERSION = do { my @r =(q$Revision$ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+# last modified:
+#    $Date$ (GMT)
+# by $Author$
+#
+sub VERSION {(q$Revision$ =~ /([\d.]+)\s*$/)[0] or '0.0'}
 
 ### sub lock ###################################################################
 #
 
 ### sub lock ###################################################################
 #
@@ -142,6 +142,15 @@ sub lock {
     $self -> lock ($self->LH_EXCL, $self -> timeout('master'))   and
     $self -> _simple_lock (new Lock::Handle ($self->masterlock)) and
     return 1;
     $self -> lock ($self->LH_EXCL, $self -> timeout('master'))   and
     $self -> _simple_lock (new Lock::Handle ($self->masterlock)) and
     return 1;
+
+    # oops..?
+    # VERY violent way to set master lock
+    #
+    $self -> release;
+
+    $self -> lock ($self->LH_EXCL, $self -> timeout('master'))   and
+    $self -> _simple_lock (new Lock::Handle ($self->masterlock)) and
+    return 1;
   }
 
   ###########################################
   }
 
   ###########################################

patrick-canterino.de