diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-02-19 14:44:32 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-02-19 14:44:32 +0000 |
commit | 2a9b0cdd30113ab4926f4b68350d619c015c89a3 (patch) | |
tree | c756e270ca7d938d62d09c2ecee9d7c6be34af50 /src/userprocess.cpp | |
parent | 45fa01dc79889c68734a7629e8487917cf26a836 (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.cpp | 11 |
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; |