mesos-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Schwartzmeyer (JIRA)" <>
Subject [jira] [Commented] (MESOS-5815) Port libprocess io_tests.cpp
Date Wed, 14 Mar 2018 17:21:00 GMT


Andrew Schwartzmeyer commented on MESOS-5815:

{quote}The tests all use the pipe function from <unistd.h> to create a pair of pipes. 
This is not portable to Windows.
Windows has support for both anonymous and named pipes. Generally this can be ported by using
{{os:pipe}}, but if it expects non-blocking semantics, then it will be blocked on MESOS-8668.

{quote}<stout/posix/os.hpp> includes <stout/os/write.hpp> but <stout/windows/os.hpp>
*does not* include <stout/os/write.hpp>. 
Per the [developer guide|]
the correct fix is to ensure that all headers which use {{os::write}} include {{stout/os/write.hpp}}.
It is due to tech debt that some files still rely on {{stout/os.hpp}} to pull in {{stout/os/*}}

{quote}The function pipe in <stout/os/posix/pipe.hpp> uses type int instead of the int_fd
This is fixable as {{int_fd}} is {{int}} on Linux, and is intended to provide {{int fd}} like
semantics on Windows.

{quote}The function pipe in <stout/os/windows/pipe.hpp> uses type WindowsFD instead
of the int_fd abstraction.
{{WindowsFD}} _is_ {{int_fd}}.

{quote}Support for Windows named pipes is not implemented in libevent_poll.  The design of
libevent_poll is incongruous with Windows named pipes.
This will then be blocked on MESOS-8668.

> Port libprocess io_tests.cpp
> ----------------------------
>                 Key: MESOS-5815
>                 URL:
>             Project: Mesos
>          Issue Type: Task
>            Reporter: Andrew Schwartzmeyer
>            Assignee: Eric Mumau
>            Priority: Major
>              Labels: libprocess, mesosphere, windows
> Many of the tests create a pair of pipes with the Linux pipe utility.  Windows does
not provide pipe or a binary equivalent.

This message was sent by Atlassian JIRA

View raw message