home *** CD-ROM | disk | FTP | other *** search
/ ftp.cse.unsw.edu.au / 2014.06.ftp.cse.unsw.edu.au.tar / ftp.cse.unsw.edu.au / pub / doc / languages / perl / nutshell / ch4 / flock < prev    next >
Encoding:
Text File  |  1992-10-18  |  357 b   |  25 lines

  1. #!/usr/bin/perl
  2.  
  3. $LOCK_SH = 1;
  4. $LOCK_EX = 2;
  5. $LOCK_NB = 4;
  6. $LOCK_UN = 8;
  7.  
  8. sub lock {
  9.     flock(MBOX, $LOCK_EX);
  10.     # and, in case someone appended
  11.     # while we were waiting...
  12.     seek(MBOX, 0, 2);
  13. }
  14.  
  15. sub unlock {
  16.     flock(MBOX, $LOCK_UN);
  17. }
  18.  
  19. open(MBOX, ">>/usr/spool/mail/$ENV{'USER'}")
  20.     || die "Can't open mailbox: $!";
  21.  
  22. &lock();
  23. print MBOX $msg, "\n\n";
  24. &unlock();
  25.