Message262048
Antoine Pitrou added the comment:
> Ah, that's probably because socket.socket is a Python subclass.
> What happens if you use _socket.socket directly instead?
Oh, I forgot this sublte implementation detail, _socket.socket base
class vs socket.socket sublcass.
Example with _socket:
---
import _socket
s=_socket.socket()
s=None
---
Ok, in this case sock_finalize() is called by sock_dealloc().
---
#0 sock_finalize (s=0x7ffff7eaad60) at
/home/haypo/prog/python/default/Modules/socketmodule.c:4172
#1 0x00000000004d8f59 in PyObject_CallFinalizer (self=<_socket.socket
at remote 0x7ffff7eaad60>) at Objects/object.c:294
#2 0x00000000004d8fcd in PyObject_CallFinalizerFromDealloc
(self=<_socket.socket at remote 0x7ffff7eaad60>) at
Objects/object.c:311
#3 0x00007ffff04e326a in sock_dealloc (s=0x7ffff7eaad60) at
/home/haypo/prog/python/default/Modules/socketmodule.c:4192
#4 0x00000000004dc8ae in _Py_Dealloc (op=<_socket.socket at remote
0x7ffff7eaad60>) at Objects/object.c:1783
--- |
|
Date |
User |
Action |
Args |
2016-03-19 13:18:30 | vstinner | set | recipients:
+ vstinner, pitrou |
2016-03-19 13:18:30 | vstinner | link | issue26590 messages |
2016-03-19 13:18:30 | vstinner | create | |
|