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

Subsystems: the rest

DORMANTno replies

3 messages, 2 authors, 2016-06-15 · open the first message on its own page

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

From: Johannes Sixt <hidden>
Date: 2016-06-15 22:49:19

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 <redacted>
---
 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

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

From: Ilari Liusvaara <hidden>
Date: 2016-06-15 22:49:19

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

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

From: Johannes Sixt <hidden>
Date: 2016-06-15 22:49:19

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help