Skip to content

Commit dbc9cb6

Browse files
committed
SetResult may deadlock if executed non-async
1 parent 2ae94c9 commit dbc9cb6

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

libsignal-service-dotnet/websocket/SignalWebSocketConnection.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ private void SignalWebSocket_MessageReceived(object sender, SignalWebSocketMessa
6767
OutgoingRequests.TryGetValue(msg.Response.Id, out TaskCompletionSource<(uint, string)> savedRequest);
6868
if (savedRequest != null)
6969
{
70-
savedRequest.SetResult((msg.Response.Status, Encoding.UTF8.GetString(msg.Response.Body.ToByteArray())));
70+
Task.Run(() => {
71+
savedRequest.SetResult((msg.Response.Status, Encoding.UTF8.GetString(msg.Response.Body.ToByteArray())));
72+
});
7173
}
7274
}
7375
}

0 commit comments

Comments
 (0)