Procházet zdrojové kódy

Return error from `softPwmCreate` if `pthread_create` fails

If `pthread_create` fails, `newPin` will never get reset to -1 and process would hang. This change will return from `softPwmCreate` immediately if  `pthread_create` returns a non-zero value and avoid hanging forever.
Peter Kovary před 2 roky
rodič
revize
772e1198dd
1 změnil soubory, kde provedl 3 přidání a 0 odebrání
  1. 3 0
      wiringPi/softPwm.c

+ 3 - 0
wiringPi/softPwm.c

@@ -153,6 +153,9 @@ int softPwmCreate (int pin, int initialValue, int pwmRange)
   newPin   = pin ;
   res      = pthread_create (&myThread, NULL, softPwmThread, (void *)passPin) ;
 
+  if (res != 0)
+    return res ;
+  
   while (newPin != -1)
     delay (1) ;