Skip to content

Provides Flock object which implements __enter__() and __exit__() methods to be used with 'with' statement

License

Notifications You must be signed in to change notification settings

misli/python-flock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

python-flock

flock.Flock(fd, op)

Flock object uses fcntl.flock to lock (resp. unlock) file descriptor (fd) with operation (op) when entering (resp. leaving) runtime context related to it.

File objects providing a fileno() method are accepted as well.

Operation is one of the following values:

  • LOCK_SH - acquire a shared lock
  • LOCK_EX - acquire an exclusive lock

Operation can also be bitwise ORed with LOCK_NB to avoid blocking on lock acquisition.

Example:

with open('/tmp/file.lock', 'w') as f:
    blocking_lock   = flock.Flock(f, flock.LOCK_EX)
    noblocking_lock = flock.Flock(f, flock.LOCK_EX|flock.LOCK_NB)

    with blocking_lock:
        pass # do something here

    try:
        with noblocking_lock:
            pass # do something else here
    except BlockingIOError:
        pass

About

Provides Flock object which implements __enter__() and __exit__() methods to be used with 'with' statement

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages