MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


User Mailbox Library Functions                    maillock(3MAIL)



NAME
     maillock,  mailunlock,  touchlock  -  functions  to   manage
     lockfile(s) for user's mailbox

SYNOPSIS
     cc [ flag ... ] file ... -lmail [ library ... ]
     #include 



     int maillock(const char *user, int retrycnt);


     void mailunlock(void);


     void touchlock(void);


DESCRIPTION
     The maillock() function attempts to create  a  lockfile  for
     the  user's  mailfile.  If a lockfile already exists, and it
     has not been modified in the last 5 minutes, maillock() will
     remove the lockfile and set its own lockfile.


     It is crucial that programs locking mail files refresh their
     locks   at  least  every three minutes to maintain the lock.
     Refresh the lockfile by  calling  the  touchlock()  function
     with no arguments.


     The algorithm used to determine  the  age  of  the  lockfile
     takes into account clock drift between machines using a net-
     work file system. A zero is written  into  the  lockfile  so
     that  the  lock  will   be  respected by systems running the
     standard version of System V.


     If the lockfile has been modified in the last 5 minutes  the
     process  will  sleep  until the lock is available. The sleep
     algorithm is to  sleep  for  5  seconds  times  the  attempt
     number.  That is, the first sleep will be for 5 seconds, the
     next sleep will be for 10 seconds, etc. until the number  of
     attempts reaches  retrycnt.


     When the lockfile is no longer needed, it should be  removed
     by calling mailunlock().






SunOS 5.11          Last change: 29 Mar 1999                    1






User Mailbox Library Functions                    maillock(3MAIL)



     The user argument is the login name of the  user  for  whose
     mailbox  the  lockfile  will  be created. maillock() assumes
     that user's mailfiles  are  in  the  ``standard''  place  as
     defined in  .

RETURN VALUES
     Upon successful completion, .maillock() returns 0. Otherwise
     it returns -1.

FILES
     /var/mail/*         user mailbox files


     /var/mail/*.lock    user mailbox lockfiles


ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     MT-Level                     Unsafe                      
    


SEE ALSO
     libmail(3LIB),attributes(5)

NOTES
     The mailunlock() function  will  only  remove  the  lockfile
     created  from  the most previous call to maillock(). Calling
     maillock() for different users without intervening calls  to
     mailunlock() will cause the initially created lockfile(s) to
     remain, potentially  blocking  subsequent  message  delivery
     until the current process finally terminates.
















SunOS 5.11          Last change: 29 Mar 1999                    2



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™