I remember seeing a commit by Jeff at least a year ago which made returns from functions sometimes yield() to allow scheduled tasks to have their turn more often, independent of manual calls to yield().
But I cannot find any information relating to that any more - perhaps I am imagining things. I am also interesting in this, as yield()'s beyond my control would interfere with using shared mutual data. Am 03.02.2015 um 16:57 schrieb Stefan Karpinski <[email protected]>: > Anything that might block might yield – so I/O and sleep. If you don't do > anything that might block, then your code won't yield. What's the motivation > for wanting to prevent yielding? > > On Tue, Feb 3, 2015 at 10:54 AM, Ben Arthur <[email protected]> wrote: > is there a way to mark a section of code within a task to run as an atomic > unit? in other words, to prevent the scheduler from switching to a different > task within this section? > > for example, i'd like have more than one @sync task running this same snippet > of code on the same global variables: > > ``` > some_array[some_index]=some_data > some_index+=1 > ``` > > alternatively, is there a list of commands which are prone to yield that one > could then avoid in a sensitive section of code? i don't see one in the > docs... > > thanks, > > ben >
