Loading src/event/kqueue.cpp +10 −13 Original line number Diff line number Diff line Loading @@ -157,10 +157,7 @@ namespace netplus { void ConnectEventHandler(int pos,const int tid,void *args) { NetException exception; con *ccon=(con*)_Events[pos].udata; if(ccon){ CloseEventHandler(pos,tid,args); } con *ccon; _evtapi->CreateConnetion(&ccon); Loading Loading @@ -280,7 +277,7 @@ namespace netplus { try{ struct kevent setevent { 0 }; EV_SET(&setevent,ccon->csock->fd(),0,EV_CLEAR,0,0,nullptr); EV_SET(&setevent,ccon->csock->fd(),0, EV_DELETE,0,0,nullptr); if(kevent(_pollFD,&setevent,1,nullptr,0,nullptr)<0){ NetException except; Loading @@ -289,13 +286,13 @@ namespace netplus { except[NetException::Error] << "CloseEventHandler: can't close socket to kqueue: " << errstr; throw except; } delete ccon->csock; _evtapi->DisconnectEvent(ccon,tid,args); _evtapi->deleteConnetion(ccon); _Events[pos].udata=nullptr; }catch(NetException &e){ throw e; } Loading Loading @@ -346,13 +343,13 @@ EVENTLOOP: switch (pollptr.pollState(i)) { case pollapi::EventHandlerStatus::EVCON: pollptr.ConnectEventHandler(i,tid,args); break; continue; case pollapi::EventHandlerStatus::EVIN: pollptr.ReadEventHandler(i,tid,args); break; continue; case pollapi::EventHandlerStatus::EVOUT: pollptr.WriteEventHandler(i,tid,args); break; continue; default: NetException e; e[NetException::Error] << "EventWorker: no known event !"; Loading @@ -363,11 +360,11 @@ EVENTLOOP: case NetException::Critical: throw e; case NetException::Note: break; continue; default: std::cerr << e.what() << std::endl; pollptr.CloseEventHandler(i,tid,args); break; continue; } } } Loading Loading @@ -442,7 +439,7 @@ EVENTLOOP: 0 }; EV_SET(&setevent,_ServerSocket->fd(),EVFILT_READ,EV_ADD | EV_CLEAR | EV_ONESHOT,0,0,nullptr); EV_SET(&setevent,_ServerSocket->fd(),EVFILT_READ,EV_ADD | EV_CLEAR,0,0,nullptr); if (kevent(_pollFD,&setevent,1,nullptr,0,nullptr) < 0) { char errstr[255]; Loading src/posix/socket.cpp +26 −23 Original line number Diff line number Diff line /******************************************************************************* Copyright (c) 2014, Jan Koester jan.koester@gmx.net C *opyright (c) 2014, Jan Koester jan.koester@gmx.net All rights reserved. Redistribution and use in source and binary forms, with or without Loading Loading @@ -66,3 +66,6 @@ void netplus::socket::setnonblocking(){ } } return _Socket; } Loading
src/event/kqueue.cpp +10 −13 Original line number Diff line number Diff line Loading @@ -157,10 +157,7 @@ namespace netplus { void ConnectEventHandler(int pos,const int tid,void *args) { NetException exception; con *ccon=(con*)_Events[pos].udata; if(ccon){ CloseEventHandler(pos,tid,args); } con *ccon; _evtapi->CreateConnetion(&ccon); Loading Loading @@ -280,7 +277,7 @@ namespace netplus { try{ struct kevent setevent { 0 }; EV_SET(&setevent,ccon->csock->fd(),0,EV_CLEAR,0,0,nullptr); EV_SET(&setevent,ccon->csock->fd(),0, EV_DELETE,0,0,nullptr); if(kevent(_pollFD,&setevent,1,nullptr,0,nullptr)<0){ NetException except; Loading @@ -289,13 +286,13 @@ namespace netplus { except[NetException::Error] << "CloseEventHandler: can't close socket to kqueue: " << errstr; throw except; } delete ccon->csock; _evtapi->DisconnectEvent(ccon,tid,args); _evtapi->deleteConnetion(ccon); _Events[pos].udata=nullptr; }catch(NetException &e){ throw e; } Loading Loading @@ -346,13 +343,13 @@ EVENTLOOP: switch (pollptr.pollState(i)) { case pollapi::EventHandlerStatus::EVCON: pollptr.ConnectEventHandler(i,tid,args); break; continue; case pollapi::EventHandlerStatus::EVIN: pollptr.ReadEventHandler(i,tid,args); break; continue; case pollapi::EventHandlerStatus::EVOUT: pollptr.WriteEventHandler(i,tid,args); break; continue; default: NetException e; e[NetException::Error] << "EventWorker: no known event !"; Loading @@ -363,11 +360,11 @@ EVENTLOOP: case NetException::Critical: throw e; case NetException::Note: break; continue; default: std::cerr << e.what() << std::endl; pollptr.CloseEventHandler(i,tid,args); break; continue; } } } Loading Loading @@ -442,7 +439,7 @@ EVENTLOOP: 0 }; EV_SET(&setevent,_ServerSocket->fd(),EVFILT_READ,EV_ADD | EV_CLEAR | EV_ONESHOT,0,0,nullptr); EV_SET(&setevent,_ServerSocket->fd(),EVFILT_READ,EV_ADD | EV_CLEAR,0,0,nullptr); if (kevent(_pollFD,&setevent,1,nullptr,0,nullptr) < 0) { char errstr[255]; Loading
src/posix/socket.cpp +26 −23 Original line number Diff line number Diff line /******************************************************************************* Copyright (c) 2014, Jan Koester jan.koester@gmx.net C *opyright (c) 2014, Jan Koester jan.koester@gmx.net All rights reserved. Redistribution and use in source and binary forms, with or without Loading Loading @@ -66,3 +66,6 @@ void netplus::socket::setnonblocking(){ } } return _Socket; }