Change 34378 by [EMAIL PROTECTED] on 2008/09/17 07:01:00

        Subject: Re: [PATCH] Revised: Improved documentation for flock() in 
perlfunc.pod
        From: Paul Fenwick <[EMAIL PROTECTED]>
        Date: Tue, 16 Sep 2008 20:32:39 +1000
        Message-ID: <[EMAIL PROTECTED]>

Affected files ...

... //depot/perl/pod/perlfunc.pod#606 edit

Differences ...

==== //depot/perl/pod/perlfunc.pod#606 (text) ====
Index: perl/pod/perlfunc.pod
--- perl/pod/perlfunc.pod#605~34272~    2008-09-05 06:57:08.000000000 -0700
+++ perl/pod/perlfunc.pod       2008-09-17 00:01:00.000000000 -0700
@@ -1935,25 +1935,27 @@
 
 Here's a mailbox appender for BSD systems.
 
-    use Fcntl ':flock'; # import LOCK_* constants
+    use Fcntl qw(:flock SEEK_END); # import LOCK_* and SEEK_END constants
 
     sub lock {
-       flock(MBOX,LOCK_EX);
-       # and, in case someone appended
-       # while we were waiting...
-       seek(MBOX, 0, 2);
+       my ($fh) = @_;
+       flock($fh, LOCK_EX) or die "Cannot lock mailbox - $!\n";
+
+       # and, in case someone appended while we were waiting...
+       seek($fh, 0, SEEK_END) or die "Cannot seek - $!\n";
     }
 
     sub unlock {
-       flock(MBOX,LOCK_UN);
+       my ($fh) = @_;
+       flock($fh, LOCK_UN) or die "Cannot unlock mailbox - $!\n";
     }
 
     open(my $mbox, ">>", "/usr/spool/mail/$ENV{'USER'}")
            or die "Can't open mailbox: $!";
 
-    lock();
+    lock($mbox);
     print $mbox $msg,"\n\n";
-    unlock();
+    unlock($mbox);
 
 On systems that support a real flock(), locks are inherited across fork()
 calls, whereas those that must resort to the more capricious fcntl()
End of Patch.

Reply via email to