R>>ну да, ну да R>>а после присвоения l поток вытеснили и в *p другое значение кто-нть записал R>>InterlockedOr(p, 0) тогда уж лучше O>Ну если ктото другое значение записал _InterlockedCompareExchange нифига не запишет и вернет это самое другое значение, которое будет отличаться от l и цикл пойдет на следующую итерацию-попытку.
и поток снова вытеснили после присваивания l и так далее. весьма маловероятно но тем не менее данный цикл может теоретически крутиться вечно
O>вопрос — можно ли обойтись протестировать записывабельность адреса без сисколла, lock'а и ваще самой записи?
думаю что нет