/** * Free queue and all queued searches. */ void sq_free(squeue_t *sq) { g_assert(sq); sq_clear(sq); hset_free_null(&sq->handles); WFREE(sq); }
/// vm 終了 void done() { // クラス参照を解放 SQClassType<Thread>::done(vm); SQClassType<Object>::done(vm); // ルートテーブルをクリア sq_pushroottable(vm); sq_clear(vm,-1); sq_pop(vm,1); sq_close(vm); }
/** * Invoked when the current peermode changes. */ void sq_set_peermode(node_peer_t mode) { /* * Get rid of all the searches enqueued whilst we were an UP. * Searches will be re-issued as a leaf node at their next retry time. * * XXX could perhaps go back and reschedule searches to start soon, * XXX so that they don't get penalized too badly from being demoted? * XXX --RAM, 2004-09-02 */ if (mode != NODE_P_ULTRA) sq_clear(global_sq); }
SQDbgServer::~SQDbgServer() { VMStateMap::iterator itr = _vmstate.begin(); while (itr != _vmstate.end()) { VMState *vs = itr->second; delete vs; ++itr; } _vmstate.clear(); sq_pushobject(_v, _debugroot); sq_clear(_v, -1); sq_release(_v, &_debugroot); if (_accept != INVALID_SOCKET) sqdbg_closesocket(_accept); if (_endpoint != INVALID_SOCKET) sqdbg_closesocket(_endpoint); }
static SQInteger obj_clear(HSQUIRRELVM v) { return sq_clear(v,-1); }