• R
    serial: poll the serial console with G_IO_HUP · e02bc6de
    Roger Pau Monne 提交于
    On FreeBSD polling a master pty while the other end is not connected
    with G_IO_OUT only results in an endless wait. This is different from
    the Linux behaviour, that returns immediately. In order to demonstrate
    this, I have the following example code:
    
    http://xenbits.xen.org/people/royger/test_poll.c
    
    When executed on Linux:
    
    $ ./test_poll
    In callback
    
    On FreeBSD instead, the callback never gets called:
    
    $ ./test_poll
    
    So, in order to workaround this, poll the source with G_IO_HUP (which
    makes the code behave the same way on both Linux and FreeBSD).
    Signed-off-by: NRoger Pau Monné <roger.pau@citrix.com>
    Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
    Cc: Michael Tokarev <mjt@tls.msk.ru>
    Cc: "Andreas Färber" <afaerber@suse.de>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: xen-devel@lists.xenproject.org
    [Add hw/char/cadence_uart.c too. - Paolo]
    Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
    e02bc6de
serial.c 23.6 KB