News for hackers. Stuff that matters.
Re:Practical Guide to Bare Metal C++ by Taniwha on Thursday July 21, 2016 @04:11PM (#12139678)
I was kind of pointing out that people know that mutexes in ISRs are a bad idea, but don't know as much about the other dragons that live in the same swamp ... they may also simply not be aware of what's inside their libraries (which ones use mutexes? 'man printf' doesn't warn me)

my point is that there are hidden mutexes in libraries that people often don't know about - his example of replacing new() with malloc() doesn't solve the problem, instead you need to be able to code your C++ without new, or at least the real-time bits of it (and that includes using stuff like strings and their libraries that do new() behind your back, or even printf which can run foul of the stdio hidden mutexes)

It's not just ISRs, priority inversion is a real problem that results in some of the hardest bugs to find (I once had to chase one that happened only once a month, resulting in satellite systems losing their provisioning)

Re:Practical Guide to Bare Metal C++ by erichocean on Thursday July 21, 2016 @10:06PM (#12141295)
>I was kind of pointing out that people know that mutexes in ISRs are a bad idea, but don't know as much about the other dragons that live in the same swamp

Honestly, these "people" seem like mythical creatures to me; I've certainly never met one. If you're qualified to write an ISR in C++, you're qualified to understand which parts of C++ are valid to use in an ISR and which aren't.

This is a non-problem that does not appear in practice, even though it could in theory.

Re:Practical Guide to Bare Metal C++ by pjmlp on Friday July 22, 2016 @02:16AM (#12141995)
Somehow I can imagine that not being the case with offshored projects.