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
|
// Based on example server code from golang.org/x/crypto/ssh and server_standalone
|
||||||
func main() {
|
func main() {
|
||||||
|
|
||||||
var (
|
var (
|
||||||
readOnly bool
|
readOnly bool
|
||||||
debugStderr bool
|
debugStderr bool
|
||||||
|
@ -136,11 +135,12 @@ func main() {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
if err := server.Serve(); err == io.EOF {
|
if err := server.Serve(); err != nil {
|
||||||
server.Close()
|
if err != io.EOF {
|
||||||
log.Print("sftp client exited session.")
|
|
||||||
} else if err != nil {
|
|
||||||
log.Fatal("sftp server completed with error:", err)
|
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
|
// Based on example server code from golang.org/x/crypto/ssh and server_standalone
|
||||||
func main() {
|
func main() {
|
||||||
|
|
||||||
var (
|
var (
|
||||||
readOnly bool
|
readOnly bool
|
||||||
debugStderr bool
|
debugStderr bool
|
||||||
|
@ -120,11 +119,12 @@ func main() {
|
||||||
|
|
||||||
root := sftp.InMemHandler()
|
root := sftp.InMemHandler()
|
||||||
server := sftp.NewRequestServer(channel, root)
|
server := sftp.NewRequestServer(channel, root)
|
||||||
if err := server.Serve(); err == io.EOF {
|
if err := server.Serve(); err != nil {
|
||||||
server.Close()
|
if err != io.EOF {
|
||||||
log.Print("sftp client exited session.")
|
|
||||||
} else if err != nil {
|
|
||||||
log.Fatal("sftp server completed with error:", err)
|
log.Fatal("sftp server completed with error:", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
server.Close()
|
||||||
|
log.Print("sftp client exited session.")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue