Closed tonyhutter closed 5 years ago
The build failures are a KVTree bug (https://github.com/ECP-VeloC/KVTree/issues/27). We'll need to get that fixed first before this goes in.
https://github.com/ECP-VeloC/KVTree/pull/28 should fix the build failures
@adammoody I just pushed a fix for pdata = pdata->next
. Can you take another look?
@adammoody I fixed the other pdata = pdata->next
This patch uses a linked list to lookup which
axl_pthread_data
is associated with each AXL ID. Why put it in a linked list instead of just storing the pdata in the kvtree? Because if we put it in a kvtree, and the app dies, the pdata pointer becomes stale, and would get erroneously freed as part of anAXL_Stop()
. Instead we useaxl_pthread_data_lookup()
,axl_pthread_data_add()
, andaxl_pthread_data_remove()
to access the data. This makes it so the pdata is ephemeral, only existing while the app is running.