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.
This commit is contained in:
Peter Kovary 2021-06-19 12:55:49 +01:00 committed by GitHub
parent afddd8c504
commit 772e1198dd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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) ;