summaryrefslogtreecommitdiffabout
path: root/src/iiid.cc
authorMichael Krelin <hacker@klever.net>2013-02-12 20:37:10 (UTC)
committer Michael Krelin <hacker@klever.net>2013-02-12 20:37:10 (UTC)
commit13fb4abba3fd3cac0d5cb25d3eccddc298220d41 (patch) (unidiff)
tree8a086ffef06f153e739674a5c8beab1db9388238 /src/iiid.cc
parentb80844f51353339cfbb8b35a5585911cdb4301e2 (diff)
downloadiii-13fb4abba3fd3cac0d5cb25d3eccddc298220d41.zip
iii-13fb4abba3fd3cac0d5cb25d3eccddc298220d41.tar.gz
iii-13fb4abba3fd3cac0d5cb25d3eccddc298220d41.tar.bz2
introduce throwable_exit for nicer stack unwinding
yes, I enjoy abusing features Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (limited to 'src/iiid.cc') (more/less context) (ignore whitespace changes)
-rw-r--r--src/iiid.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/iiid.cc b/src/iiid.cc
index d655fe3..b3dd3bf 100644
--- a/src/iiid.cc
+++ b/src/iiid.cc
@@ -89,7 +89,9 @@ int main(int argc,char **argv) try {
89 89
90 closelog(); 90 closelog();
91 return 0; 91 return 0;
92} catch(std::exception& e) { 92} catch(const throwable_exit& e) {
93 return e.rc;
94} catch(const std::exception& e) {
93 syslog(LOG_CRIT,"Exiting iii daemon, because of error condition"); 95 syslog(LOG_CRIT,"Exiting iii daemon, because of error condition");
94 syslog(LOG_CRIT,"Exception: %s",e.what()); 96 syslog(LOG_CRIT,"Exception: %s",e.what());
95 return 1; 97 return 1;