#204 fix message: ISR function alread active, ignoring

This commit is contained in:
mstroh76
2024-03-24 11:10:59 +01:00
parent 06d9302d12
commit b832d204e5

View File

@@ -2257,6 +2257,7 @@ int waitForInterruptClose (int pin) {
close(sysFds [pin]);
}
sysFds [pin] = -1;
isrFunctions [pin] = NULL;
/* -not closing so far - other isr may be using it - only close if no other is using - will code later
if (chipFd>0) {
@@ -2298,7 +2299,9 @@ static void *interruptHandler (UNU void *arg)
if (wiringPiDebug) {
printf ("wiringPi: call function\n") ;
}
isrFunctions [pin] () ;
if(isrFunctions [pin]) {
isrFunctions [pin] () ;
}
// wait again - in the past forever - now can be stopped by waitForInterruptClose
} else if( ret< 0) {
break; // stop thread!