Change 11845 by jhi@alpha on 2001/09/03 15:11:27

        Update to Storable 1.0.13.

Affected files ...

... //depot/perl/ext/Storable/ChangeLog#11 edit
... //depot/perl/ext/Storable/Storable.pm#16 edit
... //depot/perl/ext/Storable/Storable.xs#35 edit

Differences ...

==== //depot/perl/ext/Storable/ChangeLog#11 (text) ====
Index: perl/ext/Storable/ChangeLog
--- perl/ext/Storable/ChangeLog.~1~     Mon Sep  3 09:15:05 2001
+++ perl/ext/Storable/ChangeLog Mon Sep  3 09:15:05 2001
@@ -1,3 +1,12 @@
+Tue Aug 28 23:53:20 MEST 2001   Raphael Manfredi <[EMAIL PROTECTED]>
+
+. Description:
+
+       Fixed truncation race with lock_retrieve() in lock_store().
+       The file has to be truncated only once the exclusive lock is held.
+
+       Removed spurious debugging messages in .xs file.
+
 Sun Jul  1 13:27:32 MEST 2001   Raphael Manfredi <[EMAIL PROTECTED]>
 
 . Description:

==== //depot/perl/ext/Storable/Storable.pm#16 (text) ====
Index: perl/ext/Storable/Storable.pm
--- perl/ext/Storable/Storable.pm.~1~   Mon Sep  3 09:15:05 2001
+++ perl/ext/Storable/Storable.pm       Mon Sep  3 09:15:05 2001
@@ -1,4 +1,4 @@
-;# $Id: Storable.pm,v 1.0.1.11 2001/07/01 11:22:14 ram Exp $
+;# $Id: Storable.pm,v 1.0.1.12 2001/08/28 21:51:51 ram Exp $
 ;#
 ;#  Copyright (c) 1995-2000, Raphael Manfredi
 ;#  
@@ -6,6 +6,9 @@
 ;#  in the README file that comes with the distribution.
 ;#
 ;# $Log: Storable.pm,v $
+;# Revision 1.0.1.12  2001/08/28 21:51:51  ram
+;# patch13: fixed truncation race with lock_retrieve() in lock_store()
+;#
 ;# Revision 1.0.1.11  2001/07/01 11:22:14  ram
 ;# patch12: systematically use "=over 4" for POD linters
 ;# patch12: updated version number
@@ -63,7 +66,7 @@
 use AutoLoader;
 use vars qw($forgive_me $VERSION);
 
-$VERSION = '1.012';
+$VERSION = '1.013';
 *AUTOLOAD = \&AutoLoader::AUTOLOAD;            # Grrr...
 
 #
@@ -172,9 +175,8 @@
        logcroak "not a reference" unless ref($self);
        logcroak "wrong argument number" unless @_ == 2;        # No @foo in arglist
        local *FILE;
-       open(FILE, ">$file") || logcroak "can't create $file: $!";
-       binmode FILE;                           # Archaic systems...
        if ($use_locking) {
+               open(FILE, ">>$file") || logcroak "can't write into $file: $!";
                unless (&CAN_FLOCK) {
                        logcarp "Storable::lock_store: fcntl/flock emulation broken on 
$^O";
                        return undef;
@@ -183,7 +185,10 @@
                        logcroak "can't get exclusive lock on $file: $!";
                truncate FILE, 0;
                # Unlocking will happen when FILE is closed
+       } else {
+               open(FILE, ">$file") || logcroak "can't create $file: $!";
        }
+       binmode FILE;                           # Archaic systems...
        my $da = $@;                            # Don't mess if called from exception 
handler
        my $ret;
        # Call C routine nstore or pstore, depending on network order

==== //depot/perl/ext/Storable/Storable.xs#35 (text) ====
Index: perl/ext/Storable/Storable.xs
--- perl/ext/Storable/Storable.xs.~1~   Mon Sep  3 09:15:05 2001
+++ perl/ext/Storable/Storable.xs       Mon Sep  3 09:15:05 2001
@@ -3,7 +3,7 @@
  */
 
 /*
- * $Id: Storable.xs,v 1.0.1.9 2001/07/01 11:25:02 ram Exp $
+ * $Id: Storable.xs,v 1.0.1.10 2001/08/28 21:52:14 ram Exp $
  *
  *  Copyright (c) 1995-2000, Raphael Manfredi
  *  
@@ -11,6 +11,9 @@
  *  in the README file that comes with the distribution.
  *
  * $Log: Storable.xs,v $
+ * Revision 1.0.1.10  2001/08/28 21:52:14  ram
+ * patch13: removed spurious debugging messages
+ *
  * Revision 1.0.1.9  2001/07/01 11:25:02  ram
  * patch12: fixed memory corruption on croaks during thaw()
  * patch12: made code compile cleanly with -Wall (Jarkko Hietaniemi)
@@ -1261,9 +1264,6 @@
        cxt->prev = parent_cxt;
        SET_STCXT(cxt);
 
-       TRACEME(("kbuf has %d bytes at 0x%x", ksiz, kbuf));
-       TRACEME(("mbuf has %d bytes at 0x%x", msiz, mbase));
-
        ASSERT(!cxt->s_dirty, ("clean context"));
 
        return cxt;
End of Patch.

Reply via email to