shithub: furgit

Download patch

ref: 88732a8fb7779055543eb2caf11460505a283d89
parent: 6c45198ea89e76a2d03b8d5ff17071cc5b4148ce
author: Runxi Yu <me@runxiyu.org>
date: Sat Mar 7 21:02:53 EST 2026

receivepack: Flush I/O

--- a/receivepack/receivepack.go
+++ b/receivepack/receivepack.go
@@ -60,6 +60,11 @@
 		return err
 	}
 
+	err = base.FlushIO()
+	if err != nil {
+		return err
+	}
+
 	req, err := protoSession.ReadRequest()
 	if err != nil {
 		return err
@@ -97,12 +102,16 @@
 	protoResult := translateResult(result)
 
 	if req.Capabilities.ReportStatusV2 {
-		return protoSession.WriteReportStatusV2(protoResult)
+		err = protoSession.WriteReportStatusV2(protoResult)
+		if err != nil {
+			return err
+		}
+	} else if req.Capabilities.ReportStatus {
+		err = protoSession.WriteReportStatus(protoResult)
+		if err != nil {
+			return err
+		}
 	}
 
-	if req.Capabilities.ReportStatus {
-		return protoSession.WriteReportStatus(protoResult)
-	}
-
-	return nil
+	return base.FlushIO()
 }
--