summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriabdalkader <i.abdalkader@gmail.com>2022-05-14 14:30:15 +0200
committerDamien George <damien@micropython.org>2022-05-25 00:18:33 +1000
commit3438e800608cc43abab2af8d239fef0d9a187df2 (patch)
tree7fe36b5f8324a00716089ca1c9e70459402b9e6c
parentfc1f876175ba3859afd155b1fd02a12961bb8b7a (diff)
extmod/modusocket: Add support for socket events callback.
Add support for the special sockopt 20.
-rw-r--r--extmod/modusocket.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/extmod/modusocket.c b/extmod/modusocket.c
index 429750bf8..cedb2cc9a 100644
--- a/extmod/modusocket.c
+++ b/extmod/modusocket.c
@@ -331,6 +331,12 @@ STATIC mp_obj_t socket_setsockopt(size_t n_args, const mp_obj_t *args) {
val = mp_obj_get_int_truncated(args[3]);
optval = &val;
optlen = sizeof(val);
+ } else if (opt == 20 && args[3] == mp_const_none) {
+ optval = MP_OBJ_NULL;
+ optlen = 0;
+ } else if (opt == 20 && mp_obj_is_callable(args[3])) {
+ optval = args[3];
+ optlen = sizeof(optval);
} else {
mp_buffer_info_t bufinfo;
mp_get_buffer_raise(args[3], &bufinfo, MP_BUFFER_READ);