summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/todo/spin_failure_HEAD.mdwn15
1 files 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?