Mailing List Archive

r3852 - in trunk: c_src/KinoSearch/Store perl/t
Author: creamyg
Date: 2008-09-09 16:01:03 -0700 (Tue, 09 Sep 2008)
New Revision: 3852

Modified:
trunk/c_src/KinoSearch/Store/RAMFolder.c
trunk/perl/t/110-shared_lock.t
Log:
Have RAMFolder match the exception-throwing behavior of FSFolder when asked to
clobber a file.


Modified: trunk/c_src/KinoSearch/Store/RAMFolder.c
===================================================================
--- trunk/c_src/KinoSearch/Store/RAMFolder.c 2008-09-09 22:43:25 UTC (rev 3851)
+++ trunk/c_src/KinoSearch/Store/RAMFolder.c 2008-09-09 23:01:03 UTC (rev 3852)
@@ -71,9 +71,15 @@
OutStream*
RAMFolder_open_outstream(RAMFolder *self, const CharBuf *filename)
{
- RAMFileDes *file_des = RAMFileDes_new(filename);
- Hash_Store(self->ram_files, filename, (Obj*)file_des);
- REFCOUNT_DEC(file_des);
+ RAMFileDes *file_des = NULL;
+ if (Hash_Fetch(self->ram_files, filename)) {
+ CONFESS("File '%o' already exists", filename);
+ }
+ else {
+ file_des = RAMFileDes_new(filename);
+ Hash_Store(self->ram_files, filename, (Obj*)file_des);
+ REFCOUNT_DEC(file_des);
+ }
return OutStream_new((FileDes*)file_des);
}


Modified: trunk/perl/t/110-shared_lock.t
===================================================================
--- trunk/perl/t/110-shared_lock.t 2008-09-09 22:43:25 UTC (rev 3851)
+++ trunk/perl/t/110-shared_lock.t 2008-09-09 23:01:03 UTC (rev 3852)
@@ -48,6 +48,7 @@
# Rewrite lock file to spec a different pid.
my $content = $folder->slurp_file("ness-3.lock");
$content =~ s/$$/123456789/;
+$folder->delete_file('ness-3.lock');
my $outstream = $folder->open_outstream('ness-3.lock');
$outstream->print($content);
$outstream->close;
@@ -66,6 +67,7 @@
# Rewrite lock file to spec a different agent_id.
$content = $folder->slurp_file("ness-1.lock");
$content =~ s/nessie/sting/;
+$folder->delete_file('ness-1.lock');
$outstream = $folder->open_outstream('ness-1.lock');
$outstream->print($content);
$outstream->close;


_______________________________________________
kinosearch-commits mailing list
kinosearch-commits@rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch-commits