mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-18 18:12:23 -07:00
fix incorrect async work ordering in dbgi layer
This commit is contained in:
+6
-5
@@ -331,7 +331,8 @@ di_open(DI_Key *key)
|
||||
node->ref_count += 1;
|
||||
if(node->ref_count == 1)
|
||||
{
|
||||
di_u2p_enqueue_key(&key_normalized, max_U64);
|
||||
di_u2p_enqueue_key(&key_normalized, max_U64);
|
||||
async_push_work(di_parse_work);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -448,11 +449,11 @@ di_rdi_from_key(DI_Scope *scope, DI_Key *key, U64 endt_us)
|
||||
//- rjf: parse not done, not working -> ask for parse
|
||||
if(node != 0 &&
|
||||
!node->parse_done &&
|
||||
ins_atomic_u64_eval(&node->request_count) == ins_atomic_u64_eval(&node->completion_count) &&
|
||||
async_push_work(di_parse_work, .endt_us = endt_us, .completion_counter = &node->completion_count))
|
||||
{
|
||||
di_u2p_enqueue_key(&key_normalized, max_U64);
|
||||
ins_atomic_u64_eval(&node->request_count) == ins_atomic_u64_eval(&node->completion_count) &&
|
||||
di_u2p_enqueue_key(&key_normalized, endt_us))
|
||||
{
|
||||
ins_atomic_u64_inc_eval(&node->request_count);
|
||||
async_push_work(di_parse_work, .completion_counter = &node->completion_count);
|
||||
}
|
||||
|
||||
//- rjf: time expired -> break
|
||||
|
||||
Reference in New Issue
Block a user