Commit d7cc1b81 authored by jan.koester's avatar jan.koester
Browse files

locked problem solved

parent bb68f828
Loading
Loading
Loading
Loading
+3 −11
Original line number Diff line number Diff line
@@ -197,6 +197,7 @@ namespace netplus {
                throw exp;
            }

            if(sended!=0)
                wcon->resizeSendQueue(sended);

            ResponseEvent(wcon);
@@ -209,17 +210,8 @@ namespace netplus {
    void poll::CloseEventHandler(int pos) {
        const std::lock_guard<std::mutex> lock(_StateLock);
        NetException except;
        con* delcon = (con*)_Events[pos].data.ptr;

        if (!delcon || !delcon->csock) {
            except[NetException::Error] << "CloseEvent connection empty cannot remove!";
            throw except;
        }

        if(!delcon->conlock.try_lock()){
             except[NetException::Note] << "CloseEvent connection in use cannot remove!";
            throw except;
        }
        con* delcon = (con*)_Events[pos].data.ptr;

        int ect = epoll_ctl(_pollFD, EPOLL_CTL_DEL,
            delcon->csock->getSocket(), 0);