SIGN IN SIGN UP

checklocks: preserve concurrent TCP close updates

Read and write readiness can update the cached closed directions under
different queue locks. Loading the old bits and swapping their union can
lose the other direction's concurrent update. Use an atomic OR instead,
so each update only adds bits, and annotate the atomic-use contract.

All four callers discard the previous state. Remove that unused return
and document that adding the open state leaves the bits unchanged.

Assisted-by: Codex
T
Tamir Duberstein committed
39fe4084a427119469f80d06b42a8863d60652fb
Parent: 835ec55