void HttpPoll::reset(bool clear) { if(d->http.isActive()) d->http.stop(); if(clear) clearReadBuffer(); clearWriteBuffer(); d->out.resize(0); d->state = 0; d->closing = false; d->t->stop(); }
void CBuffer_Delete(CBuffer* cb) { assert(cb); lock(cb, true); clearText(cb, false); clearWriteBuffer(cb); clearIndex(cb); clearUsedNodes(cb); lock(cb, false); Sys_DestroyMutex(cb->mutex); cb->mutex = 0; free(cb); }
void UciEngine::makeMove(const Chess::Move& move) { if (!m_ponderMove.isNull()) { if (move == m_ponderMove) m_ponderState = PonderHit; m_ponderMove = Chess::Move(); if (m_ponderState != PonderHit) { m_moveStrings.truncate(m_moveStrings.lastIndexOf(' ')); if (isReady()) { m_ignoreThinking = true; if (stopThinking()) ping(false); } else { // Cancel sending the "go ponder" message clearWriteBuffer(); m_rePing = true; } } } if (m_ponderState != PonderHit) { m_ponderState = NotPondering; m_moveStrings += " " + board()->moveString(move, Chess::Board::LongAlgebraic); if (m_ignoreThinking) m_bmBuffer << positionString() << "isready"; else sendPosition(); } }