Просмотр исходного кода

Fix a bug with crashing desktop telegram

tags/v1.0.4^2
9seconds 6 лет назад
Родитель
Сommit
bc72717582
2 измененных файлов: 2 добавлений и 17 удалений
  1. 0
    14
      wrappers/packetack/pools.go
  2. 2
    3
      wrappers/packetack/proxy.go

+ 0
- 14
wrappers/packetack/pools.go Просмотреть файл

11
 			return &bytes.Buffer{}
11
 			return &bytes.Buffer{}
12
 		},
12
 		},
13
 	}
13
 	}
14
-	poolProxyBytesBuffer = sync.Pool{
15
-		New: func() interface{} {
16
-			return &bytes.Buffer{}
17
-		},
18
-	}
19
 )
14
 )
20
 
15
 
21
 func acquireClientBytesBuffer() *bytes.Buffer {
16
 func acquireClientBytesBuffer() *bytes.Buffer {
22
 	return poolClientBytesBuffer.Get().(*bytes.Buffer)
17
 	return poolClientBytesBuffer.Get().(*bytes.Buffer)
23
 }
18
 }
24
 
19
 
25
-func acquireProxyBytesBuffer() *bytes.Buffer {
26
-	return poolProxyBytesBuffer.Get().(*bytes.Buffer)
27
-}
28
-
29
 func releaseClientBytesBuffer(buf *bytes.Buffer) {
20
 func releaseClientBytesBuffer(buf *bytes.Buffer) {
30
 	buf.Reset()
21
 	buf.Reset()
31
 	poolClientBytesBuffer.Put(buf)
22
 	poolClientBytesBuffer.Put(buf)
32
 }
23
 }
33
-
34
-func releaseProxyBytesBuffer(buf *bytes.Buffer) {
35
-	buf.Reset()
36
-	poolProxyBytesBuffer.Put(buf)
37
-}

+ 2
- 3
wrappers/packetack/proxy.go Просмотреть файл

22
 }
22
 }
23
 
23
 
24
 func (w *wrapperProxy) Write(packet conntypes.Packet, acks *conntypes.ConnectionAcks) error {
24
 func (w *wrapperProxy) Write(packet conntypes.Packet, acks *conntypes.ConnectionAcks) error {
25
-	buf := acquireProxyBytesBuffer()
26
-	defer releaseProxyBytesBuffer(buf)
27
-
25
+	buf := bytes.Buffer{}
28
 	flags := w.flags
26
 	flags := w.flags
27
+
29
 	if acks.Quick {
28
 	if acks.Quick {
30
 		flags |= rpc.ProxyRequestFlagsQuickAck
29
 		flags |= rpc.ProxyRequestFlagsQuickAck
31
 	}
30
 	}

Загрузка…
Отмена
Сохранить