@Cezar also, how did you observe the deadlock you mention in r71111? if it's user-visible, that'll warrant a NEWS line. if it was theoretical or only encountered in dev testing, then it doesn't need anything.
@Cezar also, how did you observe the deadlock you mention in r71111? if it's user-visible, that'll warrant a NEWS line. if it was theoretical or only encountered in dev testing, then it doesn't need anything.
i had a bug while implementing the SoA thing which set dont_restat
to non-zero, so the branch which released the semaphore was not taken. however, i grepped for dont_restat =
afterwards, and there was a place (librt/primites/something.c) which set it to 1, so i think it's not only theoretical
maybe it warrants adding a test for it?
brl-clean/src % grep -R "dont_restat =" . ./librt/primitives/submodel/submodel.c: if (sub_dbip->dbi_mf) sub_dbip->dbi_mf->dont_restat = 1;
maybe the submodel code in the grep is never used/reached, can't tell. but even looking at the mappedfile.c code, either there is a case where the branch is not taken and the semaphore is never released, or there isn't, in which case the conditional is unnecessary :-?
maybe it warrants adding a test for it?
if you want, but I wouldn't unless I'd actually encountered bad behavior. there is too much code to stop at every potential -- stop at the actuals. :)
submodel code is essentially incomplete and not yet been made robust (and confirmed buggy during GCI), so it's fair game to clean up and fix as warranted
Last updated: Jan 09 2025 at 00:46 UTC