select_infos
struct select_info *select_infos; // protected by fLock
struct select_info **select_infos;
selectInfos = context->select_infos[fd];
context->select_infos[fd] = NULL;
select_info* selectInfos = context->select_infos[newfd];
context->select_infos[newfd] = NULL;
info->next = context->select_infos[fd];
context->select_infos[fd] = info;
select_info** infoLocation = &context->select_infos[fd];
free(context->select_infos);
select_info** oldSelectInfos = context->select_infos;
context->select_infos = newSelectInfos;
memcpy(context->select_infos, oldSelectInfos, sizeof(void*) * toCopy);
memset(context->select_infos + oldSize, 0,
portRef->select_infos = NULL;
info->next = portRef->select_infos;
portRef->select_infos = info;
select_info** infoLocation = &portRef->select_infos;
select_info* select_infos;
if (port->select_infos)
notify_select_events_list(port->select_infos, events);
port->select_infos = NULL;
select_info* select_infos;
if (sem->u.used.select_infos)
notify_select_events_list(sem->u.used.select_infos, events);
sem.u.used.select_infos = NULL;
sem->u.used.select_infos = NULL;
info->next = sSems[slot].u.used.select_infos;
sSems[slot].u.used.select_infos = info;
select_info** infoLocation = &sSems[slot].u.used.select_infos;
select_info* selectInfos = thread->select_infos;
thread->select_infos = NULL;
info->next = thread->select_infos;
thread->select_infos = info;
select_info** infoLocation = &thread->select_infos;
select_infos(NULL),