summary refs log tree commit diff
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2017-10-22 20:52:41 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2017-10-22 20:52:41 +0000
commitf49b9248aa68939e0d521a12c23f2c1a118f9ff9 (patch)
tree38865c01a1dc1a7d8b34f2880cac829de6184649
parent391f19fbecc95464ba04a28bfc71367b622a1d90 (diff)
downloadmdevd-f49b9248aa68939e0d521a12c23f2c1a118f9ff9.tar.gz
mdevd-f49b9248aa68939e0d521a12c23f2c1a118f9ff9.tar.xz
mdevd-f49b9248aa68939e0d521a12c23f2c1a118f9ff9.zip
Don't read clock in main loop, start columns at 1, honor verbosity
-rw-r--r--src/mdevd/mdevd.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mdevd/mdevd.c b/src/mdevd/mdevd.c
index 88190ed..a8691ad 100644
--- a/src/mdevd/mdevd.c
+++ b/src/mdevd/mdevd.c
@@ -391,7 +391,7 @@ static inline void script_secondpass (char *s, scriptelem *script, struct envmat
     char fmtline[UINT_FMT] ;
     char fmtcol[UINT_FMT] ;
     fmtline[uint_fmt(fmtline, line)] = 0 ;
-    fmtcol[uint_fmt(fmtcol, pos - col0 - 1)] = 0 ;
+    fmtcol[uint_fmt(fmtcol, pos - col0)] = 0 ;
     strerr_dief5x(2, "syntax error during second pass: ", "line ", fmtline, " column ", fmtcol) ;
   }
 }
@@ -407,6 +407,7 @@ static inline int wait_for_loading (char const *sysdevpath, size_t sysdevpathlen
   char loadingfn[sysdevpathlen + 9] ;
   memcpy(loadingfn, sysdevpath, sysdevpathlen) ;
   memcpy(loadingfn + sysdevpathlen, "/loading", 9) ;
+  tain_now_g() ;
   while (n--)  /* sysfs doesn't support inotify, so we have to poll -_- */
   {
     tain_t deadline ;
@@ -960,7 +961,7 @@ int main (int argc, char const *const *argv)
     if (len < 0)
     {
       if (errno != ENOENT) strerr_diefu2sys(111, "read ", configfile) ;
-      strerr_warnwu2sys("read ", configfile) ;
+      if (verbosity) strerr_warnwu2sys("read ", configfile) ;
       len = 0 ;
     }
     buf[len++] = 0 ;
@@ -976,10 +977,9 @@ int main (int argc, char const *const *argv)
       script_secondpass(buf, script, envmatch) ;
       while (cont || pid)
       {
-        static tain_t const deadline = TAIN_INFINITE ;
         if (buffer_len(buffer_0)) handle_stdin(&event, script, scriptlen, buf, envmatch, &w) ;
         x[1].events = pid ? 0 : IOPAUSE_READ ;
-        if (iopause_g(x, 1 + cont, &deadline) < 0) strerr_diefu1sys(111, "iopause") ;
+        if (iopause(x, 1 + cont, 0, 0) < 0) strerr_diefu1sys(111, "iopause") ;
         if (x[0].revents & IOPAUSE_READ && handle_signals()) break ;
         if (cont && !pid && x[1].revents & IOPAUSE_READ)
           handle_stdin(&event, script, scriptlen, buf, envmatch, &w) ;