File tree Expand file tree Collapse file tree 1 file changed +11
-8
lines changed
Expand file tree Collapse file tree 1 file changed +11
-8
lines changed Original file line number Diff line number Diff line change @@ -74,32 +74,30 @@ func (wt *WebTTY) Run(ctx context.Context) error {
7474
7575 errs := make (chan error , 3 )
7676
77+ slaveBuffer := make ([]byte , wt .bufferSize )
7778 go func () {
7879 errs <- func () error {
79- buffer := make ([]byte , wt .bufferSize )
8080 for {
81- n , err := wt .slave .Read (buffer )
81+ n , err := wt .slave .Read (slaveBuffer )
8282 if err != nil {
8383 return ErrSlaveClosed
8484 }
85-
86- err = wt .handleSlaveReadEvent (buffer [:n ])
85+ err = wt .handleSlaveReadEvent (slaveBuffer [:n ])
8786 if err != nil {
8887 return err
8988 }
9089 }
9190 }()
9291 }()
93-
92+ masterBuffer := make ([] byte , wt . bufferSize )
9493 go func () {
9594 errs <- func () error {
96- buffer := make ([]byte , wt .bufferSize )
9795 for {
98- n , err := wt .masterConn .Read (buffer )
96+ n , err := wt .masterConn .Read (masterBuffer )
9997 if err != nil {
10098 return ErrMasterClosed
10199 }
102- err = wt .handleMasterReadEvent (buffer [:n ])
100+ err = wt .handleMasterReadEvent (masterBuffer [:n ])
103101 if err != nil {
104102 return err
105103 }
@@ -126,6 +124,11 @@ func (wt *WebTTY) Run(ctx context.Context) error {
126124 }()
127125 }()
128126
127+ defer func () {
128+ slaveBuffer = nil
129+ masterBuffer = nil
130+ }()
131+
129132 select {
130133 case <- ctx .Done ():
131134 err = ctx .Err ()
You can’t perform that action at this time.
0 commit comments