]> git.decadent.org.uk Git - ion3.git/blobdiff - mod_statusbar/main.c
[svn-upgrade] Integrating new upstream version, ion3 (20070608)
[ion3.git] / mod_statusbar / main.c
index b6a0e7310f29b11a2bc9f4163cd2d26f26e53e52..2e84bf3d3616adcb6786eaa94675e31a2124a9b8 100644 (file)
 #include <libextl/readconfig.h>
 #include <libmainloop/exec.h>
 #include <libmainloop/select.h>
+#include <libmainloop/signal.h>
 #include <ioncore/saveload.h>
 #include <ioncore/bindmaps.h>
 #include <ioncore/global.h>
+#include <ioncore/ioncore.h>
 
 #include "statusbar.h"
 #include "exports.h"
 
 
-#define CF_STATUSD_TIMEOUT_SEC 5
+#define CF_STATUSD_TIMEOUT_SEC 3
 
 
 /*{{{ Module information */
@@ -92,7 +94,7 @@ static bool wait_statusd_init(int outfd, int errfd, ExtlFn dh, ExtlFn eh)
     int retval;
     bool dummy, doneseen, eagain=FALSE;
     
-    if(gettimeofday(&endtime, NULL)!=0){
+    if(mainloop_gettime(&endtime)!=0){
         warn_err();
         return FALSE;
     }
@@ -144,7 +146,7 @@ static bool wait_statusd_init(int outfd, int errfd, ExtlFn dh, ExtlFn eh)
             goto timeout;
         }
         
-        if(gettimeofday(&now, NULL)!=0){
+        if(mainloop_gettime(&now)!=0){
             warn_err();
             return FALSE;
         }
@@ -153,8 +155,13 @@ static bool wait_statusd_init(int outfd, int errfd, ExtlFn dh, ExtlFn eh)
     return TRUE;
     
 timeout:
-    warn(TR("ion-statusd timed out."));
-    return FALSE;
+    /* Just complain to stderr, not startup error log, and do not fail.
+     * The system might just be a bit slow. We can continue, but without
+     * initial values for the meters, geometry adjustments may be necessary
+     * when we finally get that information.
+     */
+    ioncore_warn_nolog(TR("ion-statusd timed out."));
+    return TRUE;
 }