mirror of https://github.com/pkg/sftp.git
fix: sftp client hang when exit in sftp server example
This commit is contained in:
parent
b0487bc4a6
commit
d45e538f7a
|
@ -17,7 +17,6 @@ import (
|
|||
|
||||
// Based on example server code from golang.org/x/crypto/ssh and server_standalone
|
||||
func main() {
|
||||
|
||||
var (
|
||||
readOnly bool
|
||||
debugStderr bool
|
||||
|
@ -136,11 +135,12 @@ func main() {
|
|||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if err := server.Serve(); err == io.EOF {
|
||||
server.Close()
|
||||
log.Print("sftp client exited session.")
|
||||
} else if err != nil {
|
||||
if err := server.Serve(); err != nil {
|
||||
if err != io.EOF {
|
||||
log.Fatal("sftp server completed with error:", err)
|
||||
}
|
||||
}
|
||||
server.Close()
|
||||
log.Print("sftp client exited session.")
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,6 @@ import (
|
|||
|
||||
// Based on example server code from golang.org/x/crypto/ssh and server_standalone
|
||||
func main() {
|
||||
|
||||
var (
|
||||
readOnly bool
|
||||
debugStderr bool
|
||||
|
@ -120,11 +119,12 @@ func main() {
|
|||
|
||||
root := sftp.InMemHandler()
|
||||
server := sftp.NewRequestServer(channel, root)
|
||||
if err := server.Serve(); err == io.EOF {
|
||||
server.Close()
|
||||
log.Print("sftp client exited session.")
|
||||
} else if err != nil {
|
||||
if err := server.Serve(); err != nil {
|
||||
if err != io.EOF {
|
||||
log.Fatal("sftp server completed with error:", err)
|
||||
}
|
||||
}
|
||||
server.Close()
|
||||
log.Print("sftp client exited session.")
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue