[LON-CAPA-cvs] cvs: loncom / LONCAPA.pm
www
lon-capa-cvs@mail.lon-capa.org
Mon, 19 Jun 2006 09:35:08 -0000
www Mon Jun 19 05:35:08 2006 EDT
Modified files:
/loncom LONCAPA.pm
Log:
Routines to establish locking ties and unties with a complete filename
Index: loncom/LONCAPA.pm
diff -u loncom/LONCAPA.pm:1.5 loncom/LONCAPA.pm:1.6
--- loncom/LONCAPA.pm:1.5 Tue May 30 15:29:48 2006
+++ loncom/LONCAPA.pm Mon Jun 19 05:35:08 2006
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Base routines
#
-# $Id: LONCAPA.pm,v 1.5 2006/05/30 19:29:48 albertel Exp $
+# $Id: LONCAPA.pm,v 1.6 2006/06/19 09:35:08 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -167,6 +167,27 @@
return &_locking_hash_untie(@_);
}
+# routines if you just have a filename
+# return tied hashref or undef
+
+sub locking_hash_tie {
+ my ($filename,$how)=@_;
+ my ($file_prefix,$namespace)=&db_filename_parts($filename);
+ unless ($namespace) { return undef; }
+ return &_locking_hash_tie($file_prefix,$namespace,$how);
+}
+
+sub locking_hash_untie {
+ return &_locking_hash_untie(@_);
+}
+
+sub db_filename_parts {
+ my ($filename)=@_;
+ my ($file_path,$namespace)=($filename=~/^(.*)\/([^\/]+)\.db$/);
+ unless ($namespace) { return undef; }
+ return ($file_path.'/'.$namespace,$namespace);
+}
+
# internal routines that handle the actual tieing and untieing process
sub _do_hash_tie {