mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-30 11:00:02 +00:00
re-introduce timeout-based re-requests for dbgi & fs layers; further adjust pre-emptive conversion heuristic
This commit is contained in:
+4
-1
@@ -491,6 +491,7 @@ di_open(DI_Key *key)
|
||||
if(node->ref_count == 1)
|
||||
{
|
||||
di_u2p_enqueue_key(&key_normalized, max_U64);
|
||||
ins_atomic_u64_eval_assign(&node->last_time_requested_us, os_now_microseconds());
|
||||
ins_atomic_u64_inc_eval(&node->request_count);
|
||||
async_push_work(di_parse_work, .completion_counter = &node->completion_count);
|
||||
}
|
||||
@@ -609,9 +610,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) &&
|
||||
(ins_atomic_u64_eval(&node->request_count) == ins_atomic_u64_eval(&node->completion_count) ||
|
||||
ins_atomic_u64_eval(&node->last_time_requested_us)+100000 < os_now_microseconds()) &&
|
||||
di_u2p_enqueue_key(&key_normalized, endt_us))
|
||||
{
|
||||
ins_atomic_u64_eval_assign(&node->last_time_requested_us, os_now_microseconds());
|
||||
ins_atomic_u64_inc_eval(&node->request_count);
|
||||
async_push_work(di_parse_work, .completion_counter = &node->completion_count);
|
||||
}
|
||||
|
||||
@@ -94,6 +94,7 @@ struct DI_Node
|
||||
U64 request_count;
|
||||
U64 completion_count;
|
||||
U64 is_working;
|
||||
U64 last_time_requested_us;
|
||||
|
||||
// rjf: key
|
||||
DI_Key key;
|
||||
|
||||
Reference in New Issue
Block a user