On 25/7/19 2:56 pm, gro...@chichak.ca 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 users@rtems.org http://lists.rtems.org/mailman/listinfo/users