This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author pitrou
Recipients pitrou, vstinner
Date 2016-03-19.13:15:09
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <56ED50DA.5020709@free.fr>
In-reply-to <CAMpsgwZ3Vnpn3kwjag2fn=cCg9VZPd4hLOVSvzs0aL0p+gry_Q@mail.gmail.com>
Content
Le 19/03/2016 14:07, STINNER Victor a écrit :
> 
> Example:
> ---
> import socket
> s=socket.socket()
> s=None
> ---
> 
> With this code, sock_finalize() is called before sock_dealloc():
> 
> #0  sock_finalize (s=0x7ffff0730c28) at
> /home/haypo/prog/python/default/Modules/socketmodule.c:4172
> #1  0x00000000004d8f59 in PyObject_CallFinalizer (self=<socket at
> remote 0x7ffff0730c28>) at Objects/object.c:294
> #2  0x00000000004d8fcd in PyObject_CallFinalizerFromDealloc
> (self=<socket at remote 0x7ffff0730c28>) at Objects/object.c:311
> #3  0x00000000004f2c8f in subtype_dealloc (self=<socket at remote
> 0x7ffff0730c28>) at Objects/typeobject.c:1154

Ah, that's probably because socket.socket is a Python subclass.
What happens if you use _socket.socket directly instead?
History
Date User Action Args
2016-03-19 13:15:09pitrousetrecipients: + pitrou, vstinner
2016-03-19 13:15:09pitroulinkissue26590 messages
2016-03-19 13:15:09pitroucreate