<div>Hi, fellow programmers.</div><div><br></div><div>I have a problem with very long blocking thread(may not be finished) in Twisted.</div><div><br></div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

<span class="Apple-style-span" style="font-family: &#39;courier new&#39;, monospace; "><font class="Apple-style-span" color="#993399">from </font>socket <font class="Apple-style-span" color="#993399">import </font>*<br></span><span class="Apple-style-span" style="font-family: &#39;courier new&#39;, monospace; "><font class="Apple-style-span" color="#993399">from </font>twisted.internet <font class="Apple-style-span" color="#993399">import </font>reactor<br>

</span><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><font class="Apple-style-span" color="#cc9933">def </font><font class="Apple-style-span" color="#339999">consuming</font>():<br></font><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">    <font class="Apple-style-span" color="#cc9933">while </font>reactor.running:<br>

</font><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">        amqp_consumer.wait()<font class="Apple-style-span" color="#6666cc"> # waiting for very long time or forever</font><br></font><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">reactor.callInThread(consuming)</font></blockquote>

<div><br></div><div>The process follows the below timeline:</div><div><br></div><div><span class="Apple-style-span" style="font-family: &#39;courier new&#39;, monospace; ">&gt;--: Started</span></div><div><span class="Apple-style-span" style="font-family: &#39;courier new&#39;, monospace; ">---: Process</span></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">--<font class="Apple-style-span" color="#cc0000">X</font>: Terminated</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"> ^ : Keyboard Input</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace" style="background-color: rgb(0, 0, 0);" color="#ffffff"> Now </font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><span class="Apple-style-span" style="font-family: &#39;courier new&#39;, monospace; ">main loop |&gt;--------------------<font class="Apple-style-span" color="#cc0000">X</font></span><br>

<span class="Apple-style-span" style="font-family: &#39;courier new&#39;, monospace; ">   thread | &gt;--------------------------------------------... long time later ...---<font class="Apple-style-span" color="#cc0000">X</font></span><br>

<span class="Apple-style-span" style="font-family: &#39;courier new&#39;, monospace; ">                             ^</span><br><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">                          [Ctrl]+C</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><span class="Apple-style-span" style="color: rgb(255, 255, 255); font-family: &#39;courier new&#39;, monospace; background-color: rgb(0, 0, 0); "> Ideal </span></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><span class="Apple-style-span" style="font-family: &#39;courier new&#39;, monospace; ">main loop |&gt;--------------------<font class="Apple-style-span" color="#cc0000">X</font></span><br>

<span class="Apple-style-span" style="font-family: &#39;courier new&#39;, monospace; ">   thread | &gt;-------------------<font class="Apple-style-span" color="#cc0000">X</font></span><br><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><div>

<font class="Apple-style-span" face="&#39;courier new&#39;, monospace">                             ^</font></div></font></div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">                         [Ctrl]+C</font><div>

<br></div><div><div>To solve this problem, I&#39;d like to set threads as daemon. So that all related threads are terminated when main loop is interrupted. Any idea on this problem will be appreciated.</div></div><div><div>

<font color="#CCCCCC"><br></font></div><div><font color="#CCCCCC">–––––––––––––––––––––––––––<br></font><div><font face="arial, helvetica, sans-serif" size="4"><b><div style="text-align:left;font-family:arial;font-weight:normal;font-size:small">

<span style="font-family:arial, helvetica, sans-serif;font-size:large"><b><span style="font-family:arial;font-size:small;font-weight:normal"><div style="text-align:left;display:inline !important"><span style="font-family:arial, helvetica, sans-serif;font-size:large"><b><span style="font-family:arial;font-weight:normal;font-size:small"><b><span style="font-size:large"><font face="arial, helvetica, sans-serif">Heungsub </font></span></b><span style="font-family:arial, helvetica, sans-serif;font-size:large"><b><span style="font-family:arial;font-weight:normal;font-size:small"><b><span style="font-size:large"><font face="arial, helvetica, sans-serif">Lee</font></span></b></span></b></span></span></b></span></div>

</span></b></span></div><div style="font-family:arial;font-weight:normal;font-size:small"><span style="font-family:arial, helvetica, sans-serif;font-size:large;font-weight:normal"><b><span style="font-family:arial;font-weight:normal;font-size:small"><b><span style="font-size:large"><font face="arial, helvetica, sans-serif"></font></span></b></span></b></span><div style="text-align:left">

<div style="display:inline !important"><i><font face="&#39;times new roman&#39;, serif" color="#999999">sublee</font></i></div></div><div><div style="display:inline !important">Mobile: +82-10-3215-2380</div></div><div style="font-family:arial;font-weight:normal;font-size:small">

Site: <a href="http://subl.ee/" target="_blank">http://subl.ee/</a></div><div style="font-family:arial;font-weight:normal;font-size:small">GitHub: <a href="http://github.com/sublee" target="_blank">http://github.com/sublee</a></div>

</div></b></font></div><br>
</div></div>