void IOCPPool::svc_del(int n) { EW_ASSERT(n>0 && n<m_nSessionMax); Session* pkey=m_aSessions[n].get(); EW_ASSERT(pkey!=NULL); EW_ASSERT(pkey->state.get()==Session::STATE_DISCONNECT); #ifndef EW_WINDOWS struct epoll_event ev; epoll_ctl(hIOCPhandler,EPOLL_CTL_DEL,pkey->sk_local.sock,&ev); #endif pkey->state.store(Session::STATE_READY); pkey->sk_local.sock.close(); pkey->OnDisconnected(); m_aSessions[n].reset(NULL); m_lkfqSessionAvailable.putq(n); if(--accounter.nSessionCount==0) { m_nCanClose.set(); } }
void OnCanvasClosing(wxAuiNotebookEvent& evt) { wm.wup.lock(); wxWindow* pPage=GetPage(evt.GetSelection()); EW_ASSERT(pPage!=NULL); MvcView* pView=MvcView::GetViewByCanvas(pPage); if(!pView) { return; } ICmdParam cmd(-1); if(!pView->OnClose(wm)) { evt.Veto(); wm.wup.unlock(); return; } if(pPage==m_pCurrentCanvas) { m_pCurrentCanvas.reset(NULL); SetActiveView(NULL); } wm.book.DetachView(pView); }
void DLink::_do_insert(DLinkNode* w,DLinkNode* p) { EW_ASSERT(p->_p_link_prev==NULL && p->_p_link_next==NULL); p->_p_link_next=w; p->_p_link_prev=w->_p_link_prev; w->_p_link_prev->_p_link_next=p; w->_p_link_prev=p; m_sz++; }
inline int String::_do_prinfv(const char* s,va_list vl) { int _n1 = vsnprintf(NULL, 0, s, vl); if (_n1 < 0) { return -1; } char* _pnewstr = StringDetail::str_alloc(_n1); int _n2 = vsnprintf(_pnewstr, _n1, s, vl); EW_ASSERT(_n1 == _n2); StringDetail::str_free(m_ptr); m_ptr = _pnewstr; return _n2; }
bool SetCurrentCanvas(wxWindow* w) { if(m_pCurrentCanvas.get()==w) return true; EW_ASSERT(MvcView::GetViewByCanvas(m_pCurrentCanvas)==m_pActiveView); if(m_pActiveView && !m_pActiveView->OnActivate(wm,-1)) { return false; } m_pCurrentCanvas.reset(w); SetActiveView(MvcView::GetViewByCanvas(w)); if(m_pActiveView) { m_pActiveView->OnActivate(wm,+2); } return true; }
void CG_GGVar::add(CallableMetatable* p) { EW_ASSERT(p!=NULL); add(p, p->m_sClassName, 0); }
void CG_GGVar::add(CallableFunction* p) { EW_ASSERT(p!=NULL); add(p, p->GetName(), p->flags.val()); }