Hi All<div><br></div><div>   I just to let you know that defer.inlineCallbacks can&#39;t work with cython well. an example:</div><div><br></div><div><br></div><div>def await():</div><div>   d = defer.Deferred()</div><div>   reactor.callLater(3, d.callback, True)</div>
<div>   return d</div><div><br></div><div>@defer.inlineCallbacks</div><div>def host():</div><div>   thing = yield await()</div><div>   &quot;&quot;do sth&quot;&quot;&quot;</div><div><br></div><div>will fail to work on cython due to cython would change the function name(here I refer to host()) which lead to generator can&#39;t send back the result to the original function.</div>
<div><br></div><div>However, deferredGenerator does work with cython</div><div><br></div><div>like:</div><div><br></div><div><div>@defer.deferredGenerator</div><div>def host():</div><div>    d = await()</div><div>    thing = defer.waitForDeferred(d)</div>
<div>    yield thing</div></div><div><br></div><div><br></div><div>  It is not a common case to write such codes with cython, in case of need, deferredGenerator may help.</div><div><br></div><div> I personally hope deferredGenerator will be always there even python 2.4 support has been abandoned. deferredGenerator itself is not so elegant as inlineCallbacks, at least I don&#39;t need</div>
<div><br></div><div>to struggle with a series of callback functions..</div><div><br></div><div>Regards</div><div><br></div><div>gelin yan</div><div><br></div><div>  </div><div><br></div>