mirror of
https://github.com/bingohuang/docker-labs.git
synced 2025-07-14 10:17:26 +08:00
Remove writer if websocket disconnects
This commit is contained in:
parent
b3e7dcae3b
commit
97f39ca375
@ -39,8 +39,8 @@ func Exec(ws *websocket.Conn) {
|
||||
instance.Stdout.AddWriter(u1.String(), ws)
|
||||
go func() {
|
||||
io.Copy(instance.Stdout, instance.Conn.Reader)
|
||||
instance.Stdout.RemoveWriter(u1.String())
|
||||
}()
|
||||
defer conn.Close()
|
||||
go func() {
|
||||
io.Copy(instance.Conn.Conn, ws)
|
||||
}()
|
||||
@ -53,6 +53,7 @@ func Exec(ws *websocket.Conn) {
|
||||
|
||||
go func() {
|
||||
io.Copy(instance.Conn.Conn, ws)
|
||||
instance.Stdout.RemoveWriter(u1.String())
|
||||
}()
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
|
@ -27,6 +27,7 @@ func NewSession() (*types.Session, error) {
|
||||
s = GetSession(s.Id)
|
||||
log.Printf("Starting clean up of session [%s]\n", s.Id)
|
||||
for _, i := range s.Instances {
|
||||
i.Conn.Close()
|
||||
if err := DeleteContainer(i.Name); err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user