Peter Veentjer
Peter Veentjer
I do not have the time to make a test. Ask @puzpuzpuz to have a look at the fencing behavior and perhaps involve the author to explain what the idea...
@jerrinot hi! :) Yes. This is everything but simple. Since the worker instance is run by the same thread, the fences aren't needed for the worker itself since any reordering...
These things tend to be extremely hard to reproduce. Nearly impossible to write a test for it. So I would not go in that direction. Making it sound by design...
IMHO the key question is: are other threads going to peek inside the jobs (and their dependencies) of the worker and if so, is there any synchronization on the accessed...
In that case, no synchronization is needed. The queue provides the happens-before edge. Typically it is called 'memory consistency effects'.
If you understand the reasoning behind the fence logic and have confirmed that the reasoning is correct, then you can close this ticket. But I do know a few things...
You are interested in having this feature? Perhaps I could add it. I have little C++ experience, but 20y of Java experience.
I think a 'top attach' makes most sense. So you just keep following the oldest messages.
qterminal does a 'top attach'. Perhaps make it a config option. So 'always follow' and 'detach' and make the first the default setting.
Project is in the freezer for a long time.