WebServer icon indicating copy to clipboard operation
WebServer copied to clipboard

请问old.version0.4的timer和requestData的reset会不会出现deadlock

Open GodXuebi opened this issue 5 years ago • 1 comments

GodXuebi avatar Jun 04 '20 09:06 GodXuebi

void TimerNode::clearReq()
{
    request_data.reset();
    this->setDeleted();
}
void RequestData::reset()
{
    againTimes = 0;
    content.clear();
    file_name.clear();
    path.clear();
    now_read_pos = 0;
    state = STATE_PARSE_URI;
    h_state = h_start;
    headers.clear();
    keep_alive = false;
    if (timer.lock())
    {
        shared_ptr<TimerNode> my_timer(timer.lock());
        my_timer->clearReq();
        timer.reset();
    }
}

况且在timenode里面的的request_data是指针,怎么可以.reset(),->reset()才政正确

GodXuebi avatar Jun 04 '20 09:06 GodXuebi