From fc73c9b4b28e903641888a81a76169a929407383 Mon Sep 17 00:00:00 2001 From: Krzysztof Blazewicz Date: Fri, 26 Aug 2016 10:50:37 +0200 Subject: [PATCH] stmhal/modusocket: set self->nic to MP_OBJ_NULL after socket close This patch makes second and next calls to .close() a no-op. It prevents GC from closing the underlying resource after user already used .close() explicitly. fixes #2355 --- stmhal/modusocket.c | 1 + 1 file changed, 1 insertion(+) diff --git a/stmhal/modusocket.c b/stmhal/modusocket.c index fbd1196446..c0e30ce050 100644 --- a/stmhal/modusocket.c +++ b/stmhal/modusocket.c @@ -83,6 +83,7 @@ STATIC mp_obj_t socket_close(mp_obj_t self_in) { mod_network_socket_obj_t *self = self_in; if (self->nic != MP_OBJ_NULL) { self->nic_type->close(self); + self->nic = MP_OBJ_NULL; } return mp_const_none; }