'Construct a LockedFile.
Args:
filename: string, The path of the file to open.
mode: string, The mode to try to open the file with.
fallback_mode: string, The mode to use if locking fails.
use_native_locking: bool, Whether or not fcntl/win32 locking is used.'

@util.positional(4)
def __init__(self, filename, mode, fallback_mode, use_native_locking=True):

    opener = None
    if ((not opener) and use_native_locking):
        if _Win32Opener:
            opener = _Win32Opener(filename, mode, fallback_mode)
        if _FcntlOpener:
            opener = _FcntlOpener(filename, mode, fallback_mode)
    if (not opener):
        opener = _PosixOpener(filename, mode, fallback_mode)
    self._opener = opener
