aboutsummaryrefslogtreecommitdiff
path: root/receivepack
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-08 02:02:53 +0800
committerGravatar Runxi Yu2026-03-08 02:02:53 +0800
commit88732a8fb7779055543eb2caf11460505a283d89 (patch)
tree9f4cc782396024fa1c6914972e58feebcc66f41e /receivepack
parentprotocol/v0v1/server: Add FlushIO (diff)
signatureNo signature
receivepack: Flush I/O
Diffstat (limited to 'receivepack')
-rw-r--r--receivepack/receivepack.go21
1 files changed, 15 insertions, 6 deletions
diff --git a/receivepack/receivepack.go b/receivepack/receivepack.go
index 5c724745..c3e8e4b3 100644
--- a/receivepack/receivepack.go
+++ b/receivepack/receivepack.go
@@ -60,6 +60,11 @@ func ReceivePack(
return err
}
+ err = base.FlushIO()
+ if err != nil {
+ return err
+ }
+
req, err := protoSession.ReadRequest()
if err != nil {
return err
@@ -97,12 +102,16 @@ func ReceivePack(
protoResult := translateResult(result)
if req.Capabilities.ReportStatusV2 {
- return protoSession.WriteReportStatusV2(protoResult)
- }
-
- if req.Capabilities.ReportStatus {
- return protoSession.WriteReportStatus(protoResult)
+ err = protoSession.WriteReportStatusV2(protoResult)
+ if err != nil {
+ return err
+ }
+ } else if req.Capabilities.ReportStatus {
+ err = protoSession.WriteReportStatus(protoResult)
+ if err != nil {
+ return err
+ }
}
- return nil
+ return base.FlushIO()
}