'Construct a new lock on the file at ``path``.
By default, the lock applies to the whole file.  Optionally,
caller can specify a byte range beginning ``start`` bytes from
the start of the file and extending ``length`` bytes from there.
This exposes a subset of fcntl locking functionality.  It does
not currently expose the ``whence`` parameter -- ``whence`` is
always ``os.SEEK_SET`` and ``start`` is always evaluated from the
beginning of the file.'

def __init__(self, path, start=0, length=0):

    self.path = path
    self._file = None
    self._reads = 0
    self._writes = 0
    self._start = start
    self._length = length
    self.pid = self.old_pid = None
    self.host = self.old_host = None
