On 25/7/19 2:56 pm, [email protected] wrote:
> I’m working on a bit of a hobby project right now and someone bullied me into
> trying C++. Fine. Plus I did say that I’d try it in anger at some point.
Good on them. My first large application run on RTEMS was a ported C++
application in the mid '90s. It was moved from an old cfront 3.0 compiler to gcc
and RTEMS.
> So far I’ve managed to get a simple Init going that creates two tasks. I
> haven’t tried it yet, since it was 2AM when I finally got the right sequence
> of extern “C”s in place to get it to compile.
Nice.
> Once I get something that demonstrates that the tasks are truly running and
> have some sort of demonstrable C++ nature, I’ll send someone a zip of the
> project file set and maybe I could learn some better idioms to get this stuff
> going and we can all learn from this.
As far as I can see the C++11 and later thread support does not let us set POSIX
attributes like the stack size or real-time modes when creating threads which is
a shame but some other pieces of libstdc++ should work nicely. I suggest you
take a look at the mutex interface [1] ...
#include <mutex>
std::recursive_mutex rlock;
void foo(blahs& blah)
{
// hold the mutex while in this function
std::lock_guard<std::recursive_mutex> guard(rlock);
blah.blah().blah = "blah";
}
Chris
[1] https://en.cppreference.com/w/cpp/thread/recursive_mutex
_______________________________________________
users mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/users