ThisThread::flags_wait_any_for has wrong flags in implementation

Hi all,

I ran into a problem where flags_wait_any_for() is waiting for all specified flags to be set instead of any one of the flags. Looking at the code in SparkFun\hardware\apollo3\2.2.1\cores\mbed-os\rtos\source\ThisThread.cpp, I think the problem is the use of the osFlagsWaitAll flag instead of osFlagsWaitAny here:

uint32_t ThisThread::flags_wait_any_for(uint32_t flags, Clock::duration_u32 rel_time, bool clear)
{
    return flags_wait_for(flags, rel_time, clear, osFlagsWaitAll);
}

I noticed that in the Sparkfun/mbed-os-ambiq-apollo3 github repo this seems to have been fixed 2 years ago:

https://github.com/sparkfun/mbed-os-amb … 31e548eb38

I guess the fix didn’t make it over to the Arduino version.

Can someone confirm if this is a real bug? Is there a github issue tracker where I should use to report it?

Thanks,

Phil

Thanks for the post.

Yes, please submit this information in the Github issue tracker as this will get the right eyes on the issue.

Done.

https://github.com/sparkfun/mbed-os-amb … /issues/53

Thanks,

Phil