Skip to content

socketpair SOCK_DGRAM support #3986

Open
@tiif

Description

@tiif

Tokio seems to have usecase for SOCK_DGRAM in socketpair.

Related test:

  • tokio::uds_datagram recv_buf
  • tokio::uds_datagram try_recv_buf_never_block
  • tokio::uds_datagram try_send_recv_never_block

All of them terminated with the error similar to the one below:

error: unsupported operation: socketpair: type 0x2 is unsupported, only SOCK_STREAM, SOCK_CLOEXEC and SOCK_NONBLOCK are allowed
   --> /home/gh-tiif/.cargo/registry/src/index.crates.io-6f17d22bba15001f/mio-1.0.2/src/sys/unix/uds/mod.rs:103:5
    |
103 |     syscall!(socketpair(libc::AF_UNIX, flags, 0, fds.as_mut_ptr()))?;
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socketpair: type 0x2 is unsupported, only SOCK_STREAM, SOCK_CLOEXEC and SOCK_NONBLOCK are allowed
    |
    = help: this is likely not a bug in the program; it indicates that the program performed an operation that Miri does not support
    = note: BACKTRACE on thread `try_send_recv_n`:
    = note: inside `mio::sys::unix::uds::pair::<std::os::unix::net::UnixDatagram>` at /home/gh-tiif/.cargo/registry/src/index.crates.io-6f17d22bba15001f/mio-1.0.2/src/sys/unix/mod.rs:8:28: 8:49
    = note: inside `mio::sys::unix::uds::datagram::pair` at /home/gh-tiif/.cargo/registry/src/index.crates.io-6f17d22bba15001f/mio-1.0.2/src/sys/unix/uds/datagram.rs:24:5: 24:34
    = note: inside `mio::net::uds::datagram::UnixDatagram::pair` at /home/gh-tiif/.cargo/registry/src/index.crates.io-6f17d22bba15001f/mio-1.0.2/src/net/uds/datagram.rs:54:9: 54:35

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-linuxArea: affects only Linux targetsA-shimsArea: This affects the external function shimsC-enhancementCategory: a PR with an enhancement or an issue tracking an accepted enhancement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions