summaryrefslogtreecommitdiff
path: root/core/services.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/services.cpp')
-rw-r--r--core/services.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/core/services.cpp b/core/services.cpp
index 42f8fb8..3344ca4 100644
--- a/core/services.cpp
+++ b/core/services.cpp
@@ -36,7 +36,10 @@ void* CallService(const char *name,void* data)
for(std::list<service*>::iterator i = services.begin(); i != end; ++i)
{
if(!ACE_OS::strcmp((*i)->getName(), name))
+ {
+ service_list_mutex.unlock();
return (*i)->getService()(data);
+ }
}
service_list_mutex.unlock();
}
@@ -50,7 +53,10 @@ bool ServiceExists(const char *name)
std::list<service*>::iterator end = services.end();
for(std::list<service*>::iterator i = services.begin(); i != end; ++i)
if(!ACE_OS::strcmp((*i)->getName(), name))
+ {
+ service_list_mutex.unlock();
return true;
+ }
}
service_list_mutex.unlock();
return false;