service: simplify CALL_SERVICE stub and fix race.
If PushService.store_and_forward() loses the race to arrive at a brand new context first, and the context's main thread is already executing a CALL_FUNCTION that is blocked on the result of PushService, deadlock could occur in the old scheme. Instead (for now) simply spam a thread for each incoming message, and use the get_or_create_pool() lock to ensure things work out in the end. This could potentially generate a huge number of threads given the wrong app, but we'll fix that problem when it appears.pull/262/head
parent
92ecf29559
commit
05e0b134f9
Loading…
Reference in New Issue