We have a flow graph without an input node. Previously we did not dedicate a master thread for graph execution, all nodes were served by TBB worker threads, and items were fed by the same master thread which created the graph via try_put() method on a root node. Though that approach led to starvation in some scenarios (especially on systems with low hardware concurrency).
Now we want to dedicate a master thread to the flow graph to guarantee its execution. Though we still have to feed it from the main thread. Invoking try_put() from main thread renders the dedicated thread useless, since (to my understanding) try_put() spawns a task in the main thread's arena stealing from which is not supported for other master threads.
Can anyone please advice a straightforward solution to the problem?