Hello,<div><br></div><div>I'm trying to write a schedule plugin. While reading the already made scheduler plugins, I got surprised about the use of the RT_F_SLEEP and RT_F_RUNNING.</div><div><br></div><div>It makes sense for me that a task is flagged with "RT_F_SLEEP" when a job is completed and that it is flagged with "RT_F_RUNNING" in the task_new() function. On the other hand, I don't understand why a task is flagged as "RT_F_RUNNING" also in the task_wake_up() functions and not flagged as "RT_F_SLEEP" when it blocks (actually, I was expecting to have other flags for "blocked" and "awaken" in these cases). I though these were "symmetric" functions. In fact, I am surprised that the task_block() function doesn't make anything (only some checks) in the PSN-EDF plugin.</div>
<div><br></div><div><br></div><div>Also, looking at the schedule() function, I saw that more or less the same test is normally done:</div><div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div>blocks = exists && !is_running(pedf->scheduled);</div>
</blockquote><div><br></div>Why is a task flagged as "RT_F_RUNNING" when it wakes up, if this is not tested?<div><br></div><div>I believe I'm getting something wrong anyway. I hope I can get things clearer with your help =)</div>
<div><br></div><div><br></div><div>Thanks for your attention,</div><div><div><div>-- <br>John Gamboa<br><a href="http://rabanetescebolas.blogspot.com">rabanetescebolas.blogspot.com</a><br>
</div></div></div>