diff options
Diffstat (limited to 'src/Net/FdManager.cpp')
-rw-r--r-- | src/Net/FdManager.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/Net/FdManager.cpp b/src/Net/FdManager.cpp index c7abe73..d8faef4 100644 --- a/src/Net/FdManager.cpp +++ b/src/Net/FdManager.cpp @@ -24,9 +24,6 @@ #include <unistd.h> #include <sys/fcntl.h> -#include <sigc++/adaptors/hide.h> -#include <sigc++/bind.h> - namespace Mad { namespace Net { @@ -43,7 +40,7 @@ FdManager::FdManager() : running(false) { flags = fcntl(interruptPipe[1], F_GETFL, 0); fcntl(interruptPipe[1], F_SETFL, flags | O_NONBLOCK); - registerFd(interruptPipe[0], sigc::hide(sigc::mem_fun(this, &FdManager::readInterrupt)), POLLIN); + registerFd(interruptPipe[0], boost::bind(&FdManager::readInterrupt, this), POLLIN); } FdManager::~FdManager() { @@ -54,7 +51,7 @@ FdManager::~FdManager() { } -bool FdManager::registerFd(int fd, const sigc::slot<void, short> &handler, short events) { +bool FdManager::registerFd(int fd, const boost::function1<void, short> &handler, short events) { struct pollfd pollfd = {fd, events, 0}; boost::lock(handlerLock, eventLock); @@ -149,11 +146,11 @@ void FdManager::ioThread() { if(poll(fdarray, count, -1) > 0) { handlerLock.lock_shared(); - std::queue<sigc::slot<void> > calls; + std::queue<boost::function0<void> > calls; for(size_t n = 0; n < count; ++n) { if(fdarray[n].revents) - calls.push(sigc::bind(handlers[fdarray[n].fd], fdarray[n].revents)); + calls.push(boost::bind(handlers[fdarray[n].fd], fdarray[n].revents)); } handlerLock.unlock_shared(); |