I may be able to use a compare/exchange to avoid a race and still get the same effect