diff options
| author | Jeff Halter <868228+jhalter@users.noreply.github.com> | 2022-11-07 20:07:50 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-07 20:07:50 -0800 |
| commit | f0e5040e02adc26e25cb54cd345fd3989b25f0a3 (patch) | |
| tree | 42b8e4e380b9ff0616261e212287fe295ca8c0a6 /hotline | |
| parent | 501973cdaaccc9f10c1427cab7edaddf7f89fcdb (diff) | |
| parent | 94742e2f44ca08a64c1851aa1a00c3e9f266d0e9 (diff) | |
Merge pull request #74 from jhalter/workaround_windows_file_transfer_errors
Add workaround for Windows file transfer errors
Diffstat (limited to 'hotline')
| -rw-r--r-- | hotline/server.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/hotline/server.go b/hotline/server.go index 8d6803b..164b93e 100644 --- a/hotline/server.go +++ b/hotline/server.go @@ -749,6 +749,10 @@ func (s *Server) handleFileTransfer(ctx context.Context, rwc io.ReadWriter) erro delete(s.fileTransfers, t.ReferenceNumber) s.mux.Unlock() + // Wait a few seconds before closing the connection: this is a workaround for problems + // observed with Windows clients where the client must initiate close of the TCP connection before + // the server does. This is gross and seems unnecessary. TODO: Revisit? + time.Sleep(3 * time.Second) }() s.mux.Lock() @@ -783,7 +787,9 @@ func (s *Server) handleFileTransfer(ctx context.Context, rwc io.ReadWriter) erro case FileDownload: s.Stats.DownloadCounter += 1 s.Stats.DownloadsInProgress += 1 - defer func() { s.Stats.DownloadsInProgress -= 1 }() + defer func() { + s.Stats.DownloadsInProgress -= 1 + }() var dataOffset int64 if fileTransfer.fileResumeData != nil { |