Attached.<br><br>
<div class="gmail_quote">On Fri, Mar 21, 2008 at 4:09 PM, Curt Hagenlocher &lt;<a href="mailto:curt@hagenlocher.org">curt@hagenlocher.org</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Nope; got it wrong again.&nbsp; I&#39;ll just supply a patch once I get&nbsp;this working. 
<div>
<div></div>
<div class="Wj3C7c"><br><br>
<div class="gmail_quote">On Fri, Mar 21, 2008 at 2:36 PM, Curt Hagenlocher &lt;<a href="mailto:curt@hagenlocher.org" target="_blank">curt@hagenlocher.org</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>I noticed that this still isn&#39;t fixed in 2.0b1, so I took another look at socket.cs and realized that my analysis was slightly off.&nbsp; There&#39;s already a mechanism to track duplicated sockets in the form of the handleToSocket mapping.&nbsp; However, this mechanism isn&#39;t taken into account when deciding whether or not to Close() the BCL Socket object.</div>

<div>&nbsp;</div>
<div>Bottom line: I believe this bug can be fixed simply by moving the call to _socket.Close() from socket.close into socket.RemoveHandleSocketMapping, and only calling it when sockets.Count reaches zero.<br></div>
<div>
<div></div>
<div>
<div class="gmail_quote">On Mon, Feb 18, 2008 at 9:19 PM, Dino Viehland &lt;<a href="mailto:dinov@exchange.microsoft.com" target="_blank">dinov@exchange.microsoft.com</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">This is a great analysis - based upon this I think it&#39;ll be pretty easy to fix this. &nbsp;I&#39;ll take a look at it tomorrow and respond back.<br>

<div><br>-----Original Message-----<br>From: <a href="mailto:users-bounces@lists.ironpython.com" target="_blank">users-bounces@lists.ironpython.com</a> [mailto:<a href="mailto:users-bounces@lists.ironpython.com" target="_blank">users-bounces@lists.ironpython.com</a>] On Behalf Of Curt Hagenlocher<br>
Sent: Monday, February 18, 2008 4:19 PM<br>To: Discussion of IronPython<br></div>
<div>
<div></div>
<div>Subject: Re: [IronPython] urllib.urlretrieve with IronPython 2a8<br><br>On Feb 18, 2008 4:12 PM, Curt Hagenlocher &lt;<a href="mailto:curt@hagenlocher.org" target="_blank">curt@hagenlocher.org</a>&gt; wrote:<br>&gt;<br>
&gt; Is it possible that CPython&#39;s socket.close method won&#39;t actually close<br>&gt; the socket while there&#39;s still a makefile&#39;d file attacked to the<br>&gt; underlying OS socket? &nbsp;And that IronPython&#39;s will? &nbsp;Because that&#39;s the<br>
&gt; only explanation I can come up with.<br><br>It is and it will. &nbsp;CPython basically dups the socket handle when you<br>call makefile, while IronPython does not. &nbsp;That&#39;s the cause of this<br>bug.<br><br>By the way, the docstring for the IronPython socket class claims that<br>
makefile isn&#39;t implemented. &nbsp;This is apparently only half-true. :P<br><br>--<br>Curt Hagenlocher<br><a href="mailto:curt@hagenlocher.org" target="_blank">curt@hagenlocher.org</a><br></div></div>
<div>
<div></div>
<div>_______________________________________________<br>Users mailing list<br><a href="mailto:Users@lists.ironpython.com" target="_blank">Users@lists.ironpython.com</a><br><a href="http://lists.ironpython.com/listinfo.cgi/users-ironpython.com" target="_blank">http://lists.ironpython.com/listinfo.cgi/users-ironpython.com</a><br>
_______________________________________________<br>Users mailing list<br><a href="mailto:Users@lists.ironpython.com" target="_blank">Users@lists.ironpython.com</a><br><a href="http://lists.ironpython.com/listinfo.cgi/users-ironpython.com" target="_blank">http://lists.ironpython.com/listinfo.cgi/users-ironpython.com</a><br>
</div></div></blockquote></div><br></div></div></blockquote></div><br></div></div></blockquote></div><br>