• P
    util: Add helpers for safe domain console operations · 3f4238d7
    Peter Krempa 提交于
    This patch adds a set of functions used in creating console streams for
    domains using PTYs and ensures mutually exclusive access to the PTYs.
    
    If mutually exclusive access is not used, two clients may open the same
    console, which results in corruption on both clients as both of them
    race to read data from the PTY.
    
    Two approaches are used to ensure this:
    1) Internal data structure holding open PTYs.
            This is used internally and enables the user to forcibly
            terminate another console connection eg. when somebody leaves
            the console open on another host.
    
    2) UUCP style lock files:
            This uses UUCP lock files according to the  FHS
            ( http://www.pathname.com/fhs/pub/fhs-2.3.html#VARLOCKLOCKFILES )
            to check if other programs (like minicom) are not using the pty
            device of the console.
    
            This feature is disabled by default and may be enabled using
            configure parameter
            --with-console-lock-files=/path/to/lock/file/directory
            or --with-console-lock-files=auto (which tries to infer the
            location from OS used (currently only linux).
    
            On usual linux systems, normal users may not write to the
            /var/lock directory containing the locks. This poses problems
            while in session mode. If the current user has no access to the
            lockfile directory, check for presence of the file is still
            done, but no lock file is created. This does NOT result in an
            error.
    3f4238d7
libvirt_private.syms 31.3 KB