So you are not using the SYNCOP() macro, right? Can you show a code snippet of how you are trying to fan-out and yield? We could probably come up with a generic framework for such fan-out-&gt;yield-&gt;wake pattern.<div><br>
</div><div>You should be able to call syncop_yield() instead of __yield() if you are _sure_ that the caller is going to be from within a syncenv.</div><div><br></div><div>Avati<br><br><div class="gmail_quote">On Wed, Feb 13, 2013 at 11:29 AM, Krishnan Parthasarathi <span dir="ltr">&lt;<a href="mailto:kparthas@redhat.com" target="_blank">kparthas@redhat.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">In glusterd, I am trying to perform a series of syncops in a batch. ie, yield the thread<br>
once all the non-blocking operations are queued. The wakeup back to the yielded thread<br>
happens as part of the call_cnt mechanism in the callback(s).<br>
<br>
Given this, I wanted to know if I would be flouting any of assumptions, if I used<br>
synctask_yield and synctask_wake as opposed to their macro counterparts. More specifically,<br>
is there a chance that synctask_get() would return NULL on a thread which is part of a syncenv&#39;s<br>
thread pool?<br>
<br>
thanks,<br>
krish<br>
<br>
<br>
_______________________________________________<br>
Gluster-devel mailing list<br>
<a href="mailto:Gluster-devel@nongnu.org">Gluster-devel@nongnu.org</a><br>
<a href="https://lists.nongnu.org/mailman/listinfo/gluster-devel" target="_blank">https://lists.nongnu.org/mailman/listinfo/gluster-devel</a><br>
</blockquote></div><br></div>