From 8c24ee55c79b0bdbd82e284eae71c4701209afa3 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 18 Jun 2017 17:36:17 -0400 Subject: propellor spin --- doc/todo/spin_failure_HEAD.mdwn | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/doc/todo/spin_failure_HEAD.mdwn b/doc/todo/spin_failure_HEAD.mdwn index 981e775c..ad90be2e 100644 --- a/doc/todo/spin_failure_HEAD.mdwn +++ b/doc/todo/spin_failure_HEAD.mdwn @@ -103,5 +103,16 @@ Sending privdata (73139 bytes) to kite.kitenet.net ... done > > a line from stdin, and it got the first line of the protocol. > > So the data is being sent over the ssh connection ok, and > > the mangling must happening after that point and before gitPushHelper. -> > ... Could it be that git fetch itself is eating some of stdin? Or -> > that "propellor --gitpush" is before it runs gitPushHelper? +> > +> > Aha! The problem seems to come from using dup and closing stdin! + + req NeedGitPush gitPushMarker $ \_ -> do + hin <- dup stdInput + hout <- dup stdOutput + hClose stdin + hClose stdout + +> > A line read from stdin just before the dup gets the first line of the protocol +> > as expected. A line read from hin afterwards does not. Could +> > it be that multiple lines get read from stdin and buffered, and +> > so are not available in the dupped handle? -- cgit v1.2.3