VirtualBox

Changes between Initial Version and Version 1 of Ticket #19133, comment 8


Ignore:
Timestamp:
Aug 11, 2020 1:29:08 PM (4 years ago)
Author:
Frank Batschulat (Oracle)

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #19133, comment 8

    initial v1  
    11So we have the following situation:
    22
    3 1) the pipe special file in the host is presented as a regular
    4    file in the guests shared folder file system.
     31) the named pipe/fifo special file in the host is presented as a regular file in the guests shared folder file system.
    54
    6 2) you cannot create a pipe special file in the shared folder
    7    file system in the guest.
     52) you cannot create a named pipe/fifo special file in the shared folder file system in the guest.
    86
    973) in the guest, the shared folder file system behaves like the
    10    file would be a pipe even though it appears not to be one, ie.
    11    we have blocking access to that file until the other end of the
    12    pipe in the host file system actually writes data to it which
    13    unblocks the guest access to that file again, ie. the behavior
    14    of an ordinary pipe.
     8   file would be a named pipe/fifo even though it appears not to be one, ie. when reading, we have blocking access to that file until the other end of the named pipe /fifo in the host file system actually writes data to it which unblocks the guest access to that file again, ie. the behavior of an ordinary named pipe/fifo.
    159
    16 4) although 3) appears to be the pipe behavior it is actually not
    17    really. once the host end of the pipe has written something into
    18    the pipe special file, the guest unblocks but fails with an
    19    error "Protocol error" and no actual data did travel from the
    20    host pipe end to the guest pipe end.
     104) although 3) appears to be the named pipe behavior it is actually not really. once the hosts sending end of the named pipe/fifo has written something into the named pipe/fifo special file, the guest unblocks but fails with an error "Protocol error" and no actual data did travel from the hosts
     11named pipe sending end to the guest named pipe receiving end.
    2112
    22135) writing data in the guests shared file system to this
    23    regular/pipe file blocks until there is a reader on the
    24    other end of this pipe in the host side. Once there is a reader
    25    at the host end of the pipe, the guests writing process unblocks,
    26    ie. like in 3) we sort of have the behavior of an ordinary pipe.
     14"regular|/named pipe file blocks until there is a reader on the
     15other end of this named pipe in the host side. Once there is a reader at the host end of the named pipe/fifo, the guests writing process unblocks,ie. like in 3) we sort of have the behavior of an ordinary named pipe/fifo.
    2716
    28 6) although 5) appears to be pipe behavior it is actually not
    29    really. once the receiving end of the pipe on the host is
    30    connected the guest process fails the write to the file with
    31    EINVAL and no actual data did travel to the hosts process
    32    reading from the pipe.
     176) although 5) appears to be named pipe/fifo behavior it is actually not really. once the receiving end of the named pipe on the host is connected the guest process fails the write to the named pipe/fifo special file with EINVAL and no actual data did travel to the hosts process reading from the named pipe/fifo.
    3318
    34 7) when a process in the guest reads or writes to that file
    35    in the shared folder file system that is supposed to be a pipe
    36    special file (from the hosts perspective at least), you cannot
    37    interrupt this process with CTRL+C or by a signal, eg. kill -15,
    38    anymore when there is no process on the other (host) side end
    39    of the pipe. That behavior is not the case for process on the
    40    regular file system.
     197) when a process in the guest reads or writes to that file
     20in the shared folder file system that is supposed to be a named pipe/fifo special file (from the hosts perspective at least), you cannot interrupt this process with CTRL+C or by a signal, eg. kill -15, anymore when there is no process on the other (host) side end of the named pipe/fifo. That behavior is not the case for process doing the same in the regular file system.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy