Browse Source

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.
pull/115/head
Peter Kovary 3 years ago
committed by GitHub
parent
commit
772e1198dd
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 0 deletions
  1. +3
    -0
      wiringPi/softPwm.c

+ 3
- 0
wiringPi/softPwm.c View File

@@ -153,6 +153,9 @@ int softPwmCreate (int pin, int initialValue, int pwmRange)
newPin = pin ; newPin = pin ;
res = pthread_create (&myThread, NULL, softPwmThread, (void *)passPin) ; res = pthread_create (&myThread, NULL, softPwmThread, (void *)passPin) ;


if (res != 0)
return res ;
while (newPin != -1) while (newPin != -1)
delay (1) ; delay (1) ;




Loading…
Cancel
Save