Commit f115b3a
committed
fix(call): fast-path offer and line delivery to unblock push-answer mutation queue deadlock
__onMutationPerformAnswer (sequential mutation queue) awaits
stream.firstWhere(incomingOffer != null) while holding the queue slot.
__onMutationSignalingIncoming — which stores the offer and line in state —
is queued behind it and cannot run: deadlock, resolved only by 10 s timeout.
Fix: in __onCallSignalingEventIncoming (_CallSignalingEvent queue,
independent of the mutation queue), emit offer and line directly to BLoC
state when the call is in a push-answer waiting status and has no offer yet.
This immediately satisfies stream.firstWhere without touching the mutation
queue and ensures AcceptRequest is sent with the correct SIP line.1 parent 3ee90ce commit f115b3a
1 file changed
Lines changed: 22 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
940 | 940 | | |
941 | 941 | | |
942 | 942 | | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
943 | 965 | | |
944 | 966 | | |
945 | 967 | | |
| |||
0 commit comments