xsi_sem_context
struct xsi_sem_context *xsi_sem_context;
struct xsi_sem_context; // defined in xsi_semaphore.cpp
MutexLocker _(entry->team->xsi_sem_context->lock);
entry->team->xsi_sem_context->undo_list.Remove(entry);
MutexLocker _(team->xsi_sem_context->lock);
MutexLocker _(team->xsi_sem_context->lock);
MutexLocker _(team->xsi_sem_context->lock);
xsi_sem_context *context = atomic_pointer_get(&team->xsi_sem_context);
context = new(std::nothrow) xsi_sem_context;
if (atomic_pointer_test_and_set(&team->xsi_sem_context, context,
(xsi_sem_context *)NULL) != NULL)
MutexLocker _(team->xsi_sem_context->lock);
team->xsi_sem_context->undo_list.Add(request);
MutexLocker _(team->xsi_sem_context->lock);
if (team->xsi_sem_context == NULL)
= team->xsi_sem_context->undo_list.GetIterator();
MutexLocker _(team->xsi_sem_context->lock);
delete team->xsi_sem_context;
team->xsi_sem_context = NULL;
xsi_sem_context = NULL;