summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordormando <dormando@rydia.net>2011-10-17 14:24:44 -0700
committerdormando <dormando@rydia.net>2011-10-17 14:24:44 -0700
commit538919d889e21a18c221b7de54523c46d4fc08c1 (patch)
tree0204dc8d12fbf42b8e8411edd2ddcdf464e19432
parentcd6fc9a85d22fd4726796fbf04ebf816feb446e3 (diff)
downloadmemcached-538919d889e21a18c221b7de54523c46d4fc08c1.tar.gz
Issue 224 - check retval of main event loop
If main event loop bombs out early with an error, exit to the OS with an error.
-rw-r--r--memcached.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/memcached.c b/memcached.c
index f5bb7cd..f2d539c 100644
--- a/memcached.c
+++ b/memcached.c
@@ -4616,6 +4616,7 @@ int main (int argc, char **argv) {
struct rlimit rlim;
char unit = '\0';
int size_max = 0;
+ int retval = EXIT_SUCCESS;
/* listening sockets */
static int *l_socket = NULL;
@@ -5107,7 +5108,9 @@ int main (int argc, char **argv) {
drop_privileges();
/* enter the event loop */
- event_base_loop(main_base, 0);
+ if (event_base_loop(main_base, 0) != 0) {
+ retval = EXIT_FAILURE;
+ }
stop_assoc_maintenance_thread();
@@ -5122,5 +5125,5 @@ int main (int argc, char **argv) {
if (u_socket)
free(u_socket);
- return EXIT_SUCCESS;
+ return retval;
}