Hi all, I run a reactor in my thread, so I will get many connection by twisted, and I run another thread for write back data&nbsp;to&nbsp;any&nbsp;connection.<br>But&nbsp;I&#39;ve&nbsp;found&nbsp;the&nbsp;data&nbsp;is&nbsp;in buffer,&nbsp;not&nbsp;sent&nbsp;back&nbsp;immediately. &nbsp;I traced the twisted, found it blocked in class 
SelectReactor.doSelect():<br><br>                        while 1:<br>            &nbsp;&nbsp;&nbsp;&nbsp;try:<br>                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r, w, ignored = _select(reads.keys(), <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writes.keys(),<br>                                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[], timeout)
<br>                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break<br>&nbsp;&nbsp;&nbsp;&nbsp;... ...<br>&nbsp;&nbsp;&nbsp;&nbsp;#do sth<br><br>when the reactor is bloce by _select(),&nbsp;then  my another thread modified the <strong>writes</strong> dictionary,&nbsp;but&nbsp;_select could not know if&nbsp;writes.keys
() is changed, so when the thread want to write something, reactor won&#39;t&nbsp;do response. so, the problem is above.<br><br>Is&nbsp;there&nbsp;any&nbsp;idea&nbsp;for&nbsp;this?<br>thanks~&nbsp; <br clear="all"> <br>-- <br>eSX