summaryrefslogtreecommitdiff
path: root/src/userprocess.cpp
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-02-19 14:44:32 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-02-19 14:44:32 +0000
commit2a9b0cdd30113ab4926f4b68350d619c015c89a3 (patch)
treec756e270ca7d938d62d09c2ecee9d7c6be34af50 /src/userprocess.cpp
parent45fa01dc79889c68734a7629e8487917cf26a836 (diff)
Added exception handling for module loading
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3240 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/userprocess.cpp')
-rw-r--r--src/userprocess.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/userprocess.cpp b/src/userprocess.cpp
index 5452b8f9e..888d0572f 100644
--- a/src/userprocess.cpp
+++ b/src/userprocess.cpp
@@ -88,8 +88,15 @@ void ProcessUser(userrec* cu)
if (Config->GetIOHook(cu->port))
{
int result2 = 0;
- int MOD_RESULT = Config->GetIOHook(cu->port)->OnRawSocketRead(cu->fd,data,65535,result2);
- log(DEBUG,"Data result returned by module: %d",MOD_RESULT);
+ try
+ {
+ int MOD_RESULT = Config->GetIOHook(cu->port)->OnRawSocketRead(cu->fd,data,65535,result2);
+ log(DEBUG,"Data result returned by module: %d",MOD_RESULT);
+ }
+ catch (ModuleException modexcept)
+ {
+ log(DEBUG,"Module exception cought: %s",modexcept.GetReason()); \
+ }
if (MOD_RESULT < 0)
{
result = -EAGAIN;