It seems logical not to do any debugging at all if you're not running in debug mode.
I for myself introduced in enigma printk level check: https://github.com/T.../eerror.cpp#L83
If I want to receiver work a little faster, and I do not need a log, I cut down prink level and I do not have in log unnecessary spam.
This definitely needs to be improved, but maybe you can use something similar.
It's a way of thinking but does not really solve the always execution off already inserted eDeug(...) lines. Which if console is actif or not will always be done. And the lock will always be applied and that's the problem, to avoid a data collision due to multiple access of same file,buffer or mem segment at the same fraction of time the lock is required.
That's why in first stage :
1) First stage very urgent and must have been done yesterday
Remove all the not needed eDebug by just commenting them why now just commenting . its' very urgent , as for how to thread them in future must be discussed.
note: for servicemp3.cpp i issued a patch already which should have been applied yesterday
but i'm shure there are other modules containing such eDebug lines which are blocking stable working, persons working on this should also issue patches to comment asap unneeded eDebug outputs.
2) Ok we have time the critical bugs caused due to the over using of eDebug are stopped time to:
- Asses the whole project e2 upon debuging.
- Check if it was not already foreseen to issue debug messages only if enigma2 has a start parameter for it.
- Then brainstorm about possible solutions new options and .....
3) Well wait on the results off last point in 2