# [PATCH il/rfc-remote-fd-ext] Fix build on Windows

3 messages from 2010-08-13 to 2010-08-14. Participants: Johannes Sixt, Ilari Liusvaara.
Thread: https://gitlist.dev/t/24735

## Johannes Sixt, 2010-08-13 22:09

Subject: [PATCH il/rfc-remote-fd-ext] Fix build on Windows
Message-ID: <201008140009.19291.j6t@kdbg.org>
URL: https://gitlist.dev/e/201008140009.19291.j6t%40kdbg.org

```
This adds the necessary #defines so that the programs can be built, but
since the poll emulation is not extended to support POLLOUT and POLLNVAL,
the resulting programs will most likely not function properly. (The test
does not check them, yet.)

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
---
 compat/mingw.h |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/compat/mingw.h b/compat/mingw.h
index 3b2477b..f27a7b6 100644
--- a/compat/mingw.h
+++ b/compat/mingw.h
@@ -23,6 +23,9 @@ typedef int pid_t;
 #define WEXITSTATUS(x) ((x) & 0xff)
 #define WTERMSIG(x) SIGTERM
 
+#define EWOULDBLOCK EAGAIN
+#define SHUT_WR SD_SEND
+
 #define SIGHUP 1
 #define SIGQUIT 3
 #define SIGKILL 9
@@ -50,6 +53,8 @@ struct pollfd {
 };
 #define POLLIN 1
 #define POLLHUP 2
+#define POLLOUT 4
+#define POLLNVAL 8
 #endif
 
 typedef void (__cdecl *sig_handler_t)(int);
-- 
1.7.1.402.gf1eeb

```

## Ilari Liusvaara, 2010-08-14 09:38

Subject: Re: [PATCH il/rfc-remote-fd-ext] Fix build on Windows
Message-ID: <20100814093801.GA28522@LK-Perkele-V2.elisa-laajakaista.fi>
URL: https://gitlist.dev/e/20100814093801.GA28522%40LK-Perkele-V2.elisa-laajakaista.fi
In-Reply-To: <201008140009.19291.j6t@kdbg.org>

```
On Sat, Aug 14, 2010 at 12:09:19AM +0200, Johannes Sixt wrote:
> This adds the necessary #defines so that the programs can be built, but
> since the poll emulation is not extended to support POLLOUT and POLLNVAL,
> the resulting programs will most likely not function properly. (The test
> does not check them, yet.)

The code doesn't really need POLLNVAL (Its just there for "can't happen"
case). POLLOUT is needed. I looked at poll emulation code: It returning
EINVAL causes transfer loop to fail quick.

I think its possible to write the loop in terms of select instead of poll.
Would this be better for Git on Windows?

-Ilari

```

## Johannes Sixt, 2010-08-14 18:31

Subject: Re: [PATCH il/rfc-remote-fd-ext] Fix build on Windows
Message-ID: <201008142031.46759.j6t@kdbg.org>
URL: https://gitlist.dev/e/201008142031.46759.j6t%40kdbg.org
In-Reply-To: <20100814093801.GA28522@LK-Perkele-V2.elisa-laajakaista.fi>

```
On Samstag, 14. August 2010, Ilari Liusvaara wrote:
> The code doesn't really need POLLNVAL (Its just there for "can't happen"
> case). POLLOUT is needed. I looked at poll emulation code: It returning
> EINVAL causes transfer loop to fail quick.
>
> I think its possible to write the loop in terms of select instead of poll.
> Would this be better for Git on Windows?

No. select does not work with pipes on Windows.

-- Hannes

```
