summaryrefslogtreecommitdiffstats
path: root/src/Net/Signals/Signal0.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Net/Signals/Signal0.h')
-rw-r--r--src/Net/Signals/Signal0.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/Net/Signals/Signal0.h b/src/Net/Signals/Signal0.h
index c468135..5c0a691 100644
--- a/src/Net/Signals/Signal0.h
+++ b/src/Net/Signals/Signal0.h
@@ -20,18 +20,22 @@
#ifndef MAD_NET_SIGNALS_SIGNAL0_H_
#define MAD_NET_SIGNALS_SIGNAL0_H_
-#include "SignalBase.h"
+#include "GenericSignal.h"
+#include <Net/ThreadManager.h>
+
+#include <boost/function.hpp>
namespace Mad {
namespace Net {
namespace Signals {
-class Signal0 : public SignalBase<boost::signal0<void>, boost::function0<void> > {
+class Signal0 : public GenericSignal<boost::function0<void> > {
public:
void emit() {
boost::lock_guard<boost::mutex> lock(mutex);
- signal();
+ for(std::map<Connection, slot_type>::iterator handler = handlers.begin(); handler != handlers.end(); ++handler)
+ Net::ThreadManager::get()->pushWork(handler->second);
}
};