void DeterministicSchedule::afterSharedAccess() { auto sched = tls_sched; if (!sched) { return; } sem_post(sched->sems_[sched->scheduler_(sched->sems_.size())]); }
bool exec_client(fds c, double tdt) { char *s; s = getcmd(c); if (((c && (c->trick) && ((t_client*)c->trick)->close) || !fds_alive(c)) && (c->write || net_close(c))) return (true); if (!(c->trick) || !(((t_client*)c->trick)->_m)) return (mod_discovery(c, &s)); s = flood_check(c, s); if (scheduler_(c, tdt)) return (scheduler_dispatch(c)); else if (!scheduler_active(c) && callback_(c, s, tdt)) return (callback_handler(c, s)); else if (s && !scheduler_active(c) && (find_action(c, s) != -1)) flood_read(c); return (true); }