[IronPython] urllib.urlretrieve with IronPython 2a8

Curt Hagenlocher curt at hagenlocher.org
Sat Mar 22 00:17:02 CET 2008


Attached.

On Fri, Mar 21, 2008 at 4:09 PM, Curt Hagenlocher <curt at hagenlocher.org>
wrote:

> Nope; got it wrong again.  I'll just supply a patch once I get this
> working.
>
>
> On Fri, Mar 21, 2008 at 2:36 PM, Curt Hagenlocher <curt at hagenlocher.org>
> wrote:
>
> > I noticed that this still isn't fixed in 2.0b1, so I took another look
> > at socket.cs and realized that my analysis was slightly off.  There's
> > already a mechanism to track duplicated sockets in the form of the
> > handleToSocket mapping.  However, this mechanism isn't taken into account
> > when deciding whether or not to Close() the BCL Socket object.
> >
> > 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.Countreaches zero.
> >   On Mon, Feb 18, 2008 at 9:19 PM, Dino Viehland <
> > dinov at exchange.microsoft.com> wrote:
> >
> > > This is a great analysis - based upon this I think it'll be pretty
> > > easy to fix this.  I'll take a look at it tomorrow and respond back.
> > >
> > > -----Original Message-----
> > > From: users-bounces at lists.ironpython.com [mailto:
> > > users-bounces at lists.ironpython.com] On Behalf Of Curt Hagenlocher
> > > Sent: Monday, February 18, 2008 4:19 PM
> > > To: Discussion of IronPython
> > >  Subject: Re: [IronPython] urllib.urlretrieve with IronPython 2a8
> > >
> > > On Feb 18, 2008 4:12 PM, Curt Hagenlocher <curt at hagenlocher.org>
> > > wrote:
> > > >
> > > > Is it possible that CPython's socket.close method won't actually
> > > close
> > > > the socket while there's still a makefile'd file attacked to the
> > > > underlying OS socket?  And that IronPython's will?  Because that's
> > > the
> > > > only explanation I can come up with.
> > >
> > > It is and it will.  CPython basically dups the socket handle when you
> > > call makefile, while IronPython does not.  That's the cause of this
> > > bug.
> > >
> > > By the way, the docstring for the IronPython socket class claims that
> > > makefile isn't implemented.  This is apparently only half-true. :P
> > >
> > > --
> > > Curt Hagenlocher
> > > curt at hagenlocher.org
> > >  _______________________________________________
> > > Users mailing list
> > > Users at lists.ironpython.com
> > > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
> > > _______________________________________________
> > > Users mailing list
> > > Users at lists.ironpython.com
> > > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
> > >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20080321/ec3b5e4e/attachment.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: socket.cs.diff
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20080321/ec3b5e4e/attachment.ksh>


More information about the Ironpython-users mailing list