hewei.it 5 years ago
parent
commit
9ac615805e
2 changed files with 8 additions and 4 deletions
  1. 4 0
      event/hloop.c
  2. 4 4
      utils/hmain.cpp

+ 4 - 0
event/hloop.c

@@ -141,6 +141,10 @@ static int hloop_process_events(hloop_t* loop) {
         msleep(blocktime);
     }
     hloop_update_time(loop);
+    // wakeup by hloop_stop
+    if (loop->status == HLOOP_STATUS_STOP) {
+        return 0;
+    }
 
 process_timers:
     if (loop->ntimers) {

+ 4 - 4
utils/hmain.cpp

@@ -211,11 +211,11 @@ int parse_opt_long(int argc, char** argv, const option_t* long_options, int size
         int arg_len  = strlen(arg);
         // delim
         char* delim = strchr(arg, OPTION_DELIM);
-        if (delim == arg || delim == arg+arg_len-1 || delim-arg > MAX_OPTION) {
-            printf("Invalid option '%s'\n", argv[i]);
-            return -10;
-        }
         if (delim) {
+            if (delim == arg || delim == arg+arg_len-1 || delim-arg > MAX_OPTION) {
+                printf("Invalid option '%s'\n", argv[i]);
+                return -10;
+            }
             memcpy(opt, arg, delim-arg);
             opt[delim-arg] = '\0';
         } else {