static abcScanner *abcNew(ULONG bufsize) { abcScanner *s=NULL; ULONG realsize; if (bufsize < MINBUFSIZE) bufsize=MINBUFSIZE; if (bufsize > MAXBUFSIZE) bufsize=MAXBUFSIZE; s=malloc( sizeof(abcScanner) + bufsize+16); if (s) { m_unguard(s); s->bufsize=bufsize; memset(s->buffer,0,bufsize+16); s->line = 0; s->state = S_LIMBO; s->nextstate = S_NONE; s->token = T_NONE; s->file = NULL; s->filename=NULL; s->tokstr=NULL; m_guard(s); m_resetbuf(s); return (s); } if (s) free(s); return (NULL); }
void contractor_ite::prune(contractor_status & cs) { DREAL_LOG_DEBUG << "contractor_ite::prune"; if (m_guard(cs.m_box)) { m_c_then.prune(cs); } else { m_c_else.prune(cs); } }
actor forwarding_actor_proxy::manager() const { actor result; { shared_lock<detail::shared_spinlock> m_guard(m_manager_mtx); result = m_manager; } return result; }
void forwarding_actor_proxy::forward_msg(const actor_addr& sender, message_id mid, message msg) { CAF_LOG_TRACE(CAF_ARG(id()) << ", " << CAF_TSARG(sender) << ", " << CAF_MARG(mid, integer_value) << ", " << CAF_TSARG(msg)); shared_lock<detail::shared_spinlock> m_guard(m_manager_mtx); m_manager->enqueue(invalid_actor_addr, invalid_message_id, make_message(atom("_Dispatch"), sender, address(), mid, std::move(msg)), nullptr); }
box contractor_ite::prune(box b, SMTConfig & config) const { if (m_guard(b)) { b = m_c_then.prune(b, config); m_input = m_c_then.input(); m_output = m_c_then.input(); unordered_set<constraint const *> const & used_ctrs = m_c_then.used_constraints(); m_used_constraints.insert(used_ctrs.begin(), used_ctrs.end()); return b; } else { b = m_c_else.prune(b, config); m_input = m_c_else.input(); m_output = m_c_else.input(); unordered_set<constraint const *> const & used_ctrs = m_c_else.used_constraints(); m_used_constraints.insert(used_ctrs.begin(), used_ctrs.end()); return b; } }
bool defined_at(Ts... args) const { return m_guard(args...); }
void forwarding_actor_proxy::manager(actor new_manager) { std::unique_lock<detail::shared_spinlock> m_guard(m_manager_mtx); m_manager.swap(new_manager); }