• C
    fdstream: don't raise error on SIGPIPE if abort requested · a5481546
    Cole Robinson 提交于
    The iohelper dies on SIGPIPE if the stream is closed before all data
    is processed. IMO this should be an error condition for virStreamFinish
    according to docs like:
    
      * This method is a synchronization point for all asynchronous
      * errors, so if this returns a success code the application can
      * be sure that all data has been successfully processed.
    
    However for virStreamAbort, not so much:
    
      * Request that the in progress data transfer be cancelled
      * abnormally before the end of the stream has been reached.
      * For output streams this can be used to inform the driver
      * that the stream is being terminated early. For input
      * streams this can be used to inform the driver that it
      * should stop sending data.
    
    Without this, virStreamAbort will realistically always error for
    active streams like domain console. So, treat the SIGPIPE case
    as non-fatal if abort is requested.
    
    Note, this will only affect an explicit user requested abort. An
    abnormal abort, like from a server error, always raises an error
    in the daemon.
    a5481546
fdstream.c 22.1 KB