From b9d2f1e8441538790335721ede8ae02d5551c089 Mon Sep 17 00:00:00 2001 From: iabdalkader Date: Thu, 19 May 2022 08:11:45 +0200 Subject: [PATCH] extmod/modusocket: Add timeout and callback to socket object. --- extmod/modnetwork.h | 3 ++- extmod/modusocket.c | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/extmod/modnetwork.h b/extmod/modnetwork.h index b95760897a..a4d86a71c1 100644 --- a/extmod/modnetwork.h +++ b/extmod/modnetwork.h @@ -86,9 +86,10 @@ typedef struct _mod_network_socket_obj_t { uint32_t proto : 5; uint32_t bound : 1; int32_t fileno : 16; + int32_t timeout; + mp_obj_t callback; #if MICROPY_PY_USOCKET_EXTENDED_STATE // Extended socket state for NICs/ports that need it. - int32_t timeout; void *state; #endif } mod_network_socket_obj_t; diff --git a/extmod/modusocket.c b/extmod/modusocket.c index 97b26d73a8..403791935c 100644 --- a/extmod/modusocket.c +++ b/extmod/modusocket.c @@ -71,9 +71,9 @@ STATIC mp_obj_t socket_make_new(const mp_obj_type_t *type, size_t n_args, size_t } } } - - #if MICROPY_PY_USOCKET_EXTENDED_STATE s->timeout = -1; + s->callback = MP_OBJ_NULL; + #if MICROPY_PY_USOCKET_EXTENDED_STATE s->state = NULL; #endif @@ -169,8 +169,9 @@ STATIC mp_obj_t socket_accept(mp_obj_t self_in) { socket2->proto = self->proto; socket2->bound = false; socket2->fileno = -1; - #if MICROPY_PY_USOCKET_EXTENDED_STATE socket2->timeout = -1; + socket2->callback = MP_OBJ_NULL; + #if MICROPY_PY_USOCKET_EXTENDED_STATE socket2->state = NULL; #endif