Skip to content

Commit 7a4d85c

Browse files
committed
Fix bug with multiple threaded usage of stream sockets by guaranteeing the "size" and "message" packets are always sent one after another.
1 parent 6a51dc0 commit 7a4d85c

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

datadog/dogstatsd/base.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -1317,8 +1317,9 @@ def _xmit_packet(self, packet, is_telemetry):
13171317

13181318
encoded_packet = packet.encode(self.encoding)
13191319
if socket_kind == socket.SOCK_STREAM:
1320-
mysocket.sendall(struct.pack('<I', len(encoded_packet)))
1321-
mysocket.sendall(encoded_packet)
1320+
with self._socket_lock:
1321+
mysocket.sendall(struct.pack('<I', len(encoded_packet)))
1322+
mysocket.sendall(encoded_packet)
13221323
else:
13231324
mysocket.send(encoded_packet)
13241325

0 commit comments

Comments
 (0)