It ended up a bit more complicated; that patch leaks memory when a socket isn&#39;t closed manually.&nbsp; There&#39;s also an issue with how the close flag on _fileobject works -- rather than simply decrementing the refcount the way that socket.close does, it should close the socket regardless of the refcount.<br>
<br>
<div class="gmail_quote">On Tue, Jul 15, 2008 at 9:24 AM, Michael Foord &lt;<a href="mailto:fuzzyman@voidspace.org.uk">fuzzyman@voidspace.org.uk</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div class="Ih2E3d">Curt Hagenlocher wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Those changes will be in 2.0b4.<br>&nbsp;<br></blockquote></div>Is this your patch from March, added to the following work item?<br>
<br><a href="http://www.codeplex.com/IronPython/WorkItem/View.aspx?WorkItemId=10825" target="_blank">http://www.codeplex.com/IronPython/WorkItem/View.aspx?WorkItemId=10825</a><br><br>Michael<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Some of CPython&#39;s socket tests are problematic in the face of non-deterministic finalization. &nbsp;They assume, for instance, that a socket will implicitly be closed when the variable goes out of scope. &nbsp;Because of this, and because users haven&#39;t had a chance to bang on them yet, I wasn&#39;t confident enough in the changes I made to advocate porting them back to <a href="http://1.1.2./" target="_blank">1.1.2.</a> &lt;<a href="http://1.1.0.2/" target="_blank">http://1.1.2</a>.&gt; 
<div class="Ih2E3d"><br><br>On Tue, Jul 15, 2008 at 8:38 AM, Michael Foord &lt;<a href="mailto:fuzzyman@voidspace.org.uk" target="_blank">fuzzyman@voidspace.org.uk</a> &lt;mailto:<a href="mailto:fuzzyman@voidspace.org.uk" target="_blank">fuzzyman@voidspace.org.uk</a>&gt;&gt; wrote:<br>
<br>&nbsp; &nbsp;Hello guys,<br><br>&nbsp; &nbsp;The only socket related issue I see in that list is:<br><br>&nbsp; &nbsp;16356 1.1.2: socket.getnameinfo(...) broken under Vista<br><br>&nbsp; &nbsp;We were hoping that 1.1.2 would finally put to rest IronPython 1<br>
&nbsp; &nbsp;issues with urllib / urllib2. Has that been done?<br><br>&nbsp; &nbsp;All the best,<br><br>&nbsp; &nbsp;Michael<br><br>&nbsp; &nbsp;Srivatsn Narayanan wrote:<br><br><br>&nbsp; &nbsp; &nbsp; &nbsp;Hello IronPython Community,<br><br>&nbsp; &nbsp; &nbsp; &nbsp;I&#39;m pleased to announce the release of IronPython 1.1.2 RC1.<br>
&nbsp; &nbsp; &nbsp; &nbsp;In this release twenty-one CodePlex work Items that were<br>&nbsp; &nbsp; &nbsp; &nbsp;identified as high priority on the IronPython mailing list<br>&nbsp; &nbsp; &nbsp; &nbsp;were fixed. It&#39;s worth noting that this included the<br>&nbsp; &nbsp; &nbsp; &nbsp;implementation of the &quot;_winreg&quot; CPython module and a few<br>
&nbsp; &nbsp; &nbsp; &nbsp;performance improvements in targeted areas. Please also note<br>&nbsp; &nbsp; &nbsp; &nbsp;that there are two potentially breaking changes in this release:<br><br>&nbsp; &nbsp; &nbsp; &nbsp;· nt.unlink will now throw an exception if the file doesn&#39;t<br>
&nbsp; &nbsp; &nbsp; &nbsp;exist, as it does in CPython.<br><br>&nbsp; &nbsp; &nbsp; &nbsp;· The signature of <a href="http://ironpython.runtime.operations.ops.id/" target="_blank">IronPython.Runtime.Operations.Ops.Id</a><br></div>&nbsp; &nbsp; &nbsp; &nbsp;&lt;<a href="http://ironpython.runtime.operations.ops.id/" target="_blank">http://ironpython.runtime.operations.ops.id/</a>&gt;() has changed 
<div>
<div></div>
<div class="Wj3C7c"><br>&nbsp; &nbsp; &nbsp; &nbsp;and it now returns an object instead of long. This maps to the<br>&nbsp; &nbsp; &nbsp; &nbsp;id() function in python. Note that there is no change for<br>&nbsp; &nbsp; &nbsp; &nbsp;python caused by this and only code which is directly calling<br>
&nbsp; &nbsp; &nbsp; &nbsp;Ops.Id from a statically typed language like C# or VB will be<br>&nbsp; &nbsp; &nbsp; &nbsp;affected.<br><br>&nbsp; &nbsp; &nbsp; &nbsp;Assuming no major issues are discovered in this build, we hope<br>&nbsp; &nbsp; &nbsp; &nbsp;to rerelease it as our last planned IronPython 1.1 release,<br>
&nbsp; &nbsp; &nbsp; &nbsp;IronPython 1.1.2, in several weeks. Please let us know if you<br>&nbsp; &nbsp; &nbsp; &nbsp;encounter any issues as soon as possible.<br><br>&nbsp; &nbsp; &nbsp; &nbsp;The following CodePlex Work Items were closed:<br><br>&nbsp; &nbsp; &nbsp; &nbsp;· 16368 1.1.2: nt.access is missing<br>
<br>&nbsp; &nbsp; &nbsp; &nbsp;· 16402 1.1.2: implement _winreg module<br><br>&nbsp; &nbsp; &nbsp; &nbsp;· 15105 1.1.2: endpos is zero in IronPython 1.1.1<br><br>&nbsp; &nbsp; &nbsp; &nbsp;· 16335 1.1.2: Event handlers can cause circular references<br>&nbsp; &nbsp; &nbsp; &nbsp;and leak memory<br><br>
&nbsp; &nbsp; &nbsp; &nbsp;· 16337 1.1.2: Trivial: Implement float.__lt__(float)<br><br>&nbsp; &nbsp; &nbsp; &nbsp;· 16338 1.1.2: Using lambda in class definition will add<br>&nbsp; &nbsp; &nbsp; &nbsp;&lt;lambda$..&gt; into the<br><br>&nbsp; &nbsp; &nbsp; &nbsp;· 16342 1.1.2: calling base class __call__ invokes constructor<br>
&nbsp; &nbsp; &nbsp; &nbsp;instead<br><br>&nbsp; &nbsp; &nbsp; &nbsp;· 16343 1.1.2: problem with __slots__ and __init__ in<br>&nbsp; &nbsp; &nbsp; &nbsp;new-style classes<br><br>&nbsp; &nbsp; &nbsp; &nbsp;· 16347 1.1.2: Trivial: popen shouldn&#39;t open new window<br><br>&nbsp; &nbsp; &nbsp; &nbsp;· 16348 1.1.2: Removes the inexistent file did not throw<br>
&nbsp; &nbsp; &nbsp; &nbsp;OSError in IP<br><br>&nbsp; &nbsp; &nbsp; &nbsp;· 16350 1.1.2: int() doesn&#39;t convert representable longs to int<br><br>&nbsp; &nbsp; &nbsp; &nbsp;· 16351 1.1.2: dict.update doesn&#39;t take keyword arguments -<br>&nbsp; &nbsp; &nbsp; &nbsp;differs from CPython<br><br>&nbsp; &nbsp; &nbsp; &nbsp;· 16353 1.1.2: Trivial: int(&#39;0x20&#39;, 16) fails to parse, long too<br>
<br>&nbsp; &nbsp; &nbsp; &nbsp;· 16355 1.1.2: unpacking single element tuples in<br>&nbsp; &nbsp; &nbsp; &nbsp;for-statement, listcomp and generator<br><br>&nbsp; &nbsp; &nbsp; &nbsp;· 16356 1.1.2: socket.getnameinfo(...) broken under Vista<br><br>&nbsp; &nbsp; &nbsp; &nbsp;· 16360 1.1.2: Class with slots and getattr not compatible<br>
<br>&nbsp; &nbsp; &nbsp; &nbsp;· 16363 1.1.2: Can&#39;t call method w/ nullable as 1st argument<br>&nbsp; &nbsp; &nbsp; &nbsp;w/ greater than 5 arguments<br><br>&nbsp; &nbsp; &nbsp; &nbsp;· 16364 1.1.2: Backport fix for compiled regular expressions<br><br>&nbsp; &nbsp; &nbsp; &nbsp;· 16365 1.1.2: Tuple hashing improvements<br>
<br>&nbsp; &nbsp; &nbsp; &nbsp;· 16366 1.1.2: PyCF_DONT_IMPLY_DEDENT support in compile<br><br>&nbsp; &nbsp; &nbsp; &nbsp;· 16749 1.1.2 (Trivial): Modifier of<br>&nbsp; &nbsp; &nbsp; &nbsp;PythonEngine.DefaultCompilerContext(..)<br><br>&nbsp; &nbsp; &nbsp; &nbsp;We&#39;d like to thank everyone in the community who contributed<br>
&nbsp; &nbsp; &nbsp; &nbsp;to these bugs: Ronnie Maor, jackeyoo, sanxiyn, Michael Foord,<br>&nbsp; &nbsp; &nbsp; &nbsp;Kamil Dworakowski, lthompson, romank, Jeff Brown, rridge,<br>&nbsp; &nbsp; &nbsp; &nbsp;David Fraser, pobrien, ebaklund.<br><br>&nbsp; &nbsp; &nbsp; &nbsp;You can download IronPython 1.1.2 RC1 at:<br>
&nbsp; &nbsp; &nbsp; &nbsp;<a href="http://www.codeplex.com/IronPython/Release/ProjectReleases.aspx?ReleaseId=15198" target="_blank">http://www.codeplex.com/IronPython/Release/ProjectReleases.aspx?ReleaseId=15198</a><br><br><br>&nbsp; &nbsp; &nbsp; &nbsp;The IronPython Team<br>
<br>&nbsp; &nbsp; &nbsp; &nbsp;------------------------------------------------------------------------<br><br>&nbsp; &nbsp; &nbsp; &nbsp;_______________________________________________<br>&nbsp; &nbsp; &nbsp; &nbsp;Users mailing list<br></div></div>&nbsp; &nbsp; &nbsp; &nbsp;<a href="mailto:Users@lists.ironpython.com" target="_blank">Users@lists.ironpython.com</a> &lt;mailto:<a href="mailto:Users@lists.ironpython.com" target="_blank">Users@lists.ironpython.com</a>&gt; 
<div class="Ih2E3d"><br>&nbsp; &nbsp; &nbsp; &nbsp;<a href="http://lists.ironpython.com/listinfo.cgi/users-ironpython.com" target="_blank">http://lists.ironpython.com/listinfo.cgi/users-ironpython.com</a><br>&nbsp; &nbsp; &nbsp; &nbsp; <br><br><br>&nbsp; &nbsp;-- &nbsp; &nbsp;<a href="http://www.ironpythoninaction.com/" target="_blank">http://www.ironpythoninaction.com/</a><br>
&nbsp; &nbsp;<a href="http://www.voidspace.org.uk/" target="_blank">http://www.voidspace.org.uk/</a><br>&nbsp; &nbsp;<a href="http://www.trypython.org/" target="_blank">http://www.trypython.org/</a><br>&nbsp; &nbsp;<a href="http://www.ironpython.info/" target="_blank">http://www.ironpython.info/</a><br>
&nbsp; &nbsp;<a href="http://www.theotherdelia.co.uk/" target="_blank">http://www.theotherdelia.co.uk/</a><br>&nbsp; &nbsp;<a href="http://www.resolverhacks.net/" target="_blank">http://www.resolverhacks.net/</a><br><br>&nbsp; &nbsp;_______________________________________________<br>
&nbsp; &nbsp;Users mailing list<br></div>&nbsp; &nbsp;<a href="mailto:Users@lists.ironpython.com" target="_blank">Users@lists.ironpython.com</a> &lt;mailto:<a href="mailto:Users@lists.ironpython.com" target="_blank">Users@lists.ironpython.com</a>&gt; 
<div class="Ih2E3d"><br>&nbsp; &nbsp;<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><br>------------------------------------------------------------------------<br>
<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>
&nbsp;<br></div></blockquote>
<div>
<div></div>
<div class="Wj3C7c"><br><br>-- <br><a href="http://www.ironpythoninaction.com/" target="_blank">http://www.ironpythoninaction.com/</a><br><a href="http://www.voidspace.org.uk/" target="_blank">http://www.voidspace.org.uk/</a><br>
<a href="http://www.trypython.org/" target="_blank">http://www.trypython.org/</a><br><a href="http://www.ironpython.info/" target="_blank">http://www.ironpython.info/</a><br><a href="http://www.theotherdelia.co.uk/" target="_blank">http://www.theotherdelia.co.uk/</a><br>
<a href="http://www.resolverhacks.net/" target="_blank">http://www.resolverhacks.net/</a><br><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>