summaryrefslogtreecommitdiff
path: root/shared-bindings/socketpool
diff options
context:
space:
mode:
authorLucian Copeland <hierophect@gmail.com>2021-01-13 19:05:07 -0500
committerLucian Copeland <hierophect@gmail.com>2021-01-13 19:05:07 -0500
commit37a8c1c57518ac35724ee026cdf6f2f2871aaea2 (patch)
tree8f3e667d04659478bc397e46cf0c074e005ded2a /shared-bindings/socketpool
parent4cdb298a20eced513536f30d3d81990eb9fbceaa (diff)
Complete non-blocking implementations, add socket close checking
Diffstat (limited to 'shared-bindings/socketpool')
-rw-r--r--shared-bindings/socketpool/Socket.c9
-rw-r--r--shared-bindings/socketpool/Socket.h2
2 files changed, 2 insertions, 9 deletions
diff --git a/shared-bindings/socketpool/Socket.c b/shared-bindings/socketpool/Socket.c
index a92e508b6..007417340 100644
--- a/shared-bindings/socketpool/Socket.c
+++ b/shared-bindings/socketpool/Socket.c
@@ -115,14 +115,7 @@ STATIC mp_obj_t socketpool_socket_accept(mp_obj_t self_in) {
uint8_t ip[4];
uint port;
- int socknum = common_hal_socketpool_socket_accept(self, ip, &port);
-
- socketpool_socket_obj_t *sock = m_new_obj_with_finaliser(socketpool_socket_obj_t);
- sock->base.type = &socketpool_socket_type;
- sock->num = socknum;
- sock->tls = NULL;
- sock->ssl_context = NULL;
- sock->pool = self->pool;
+ socketpool_socket_obj_t * sock = common_hal_socketpool_socket_accept(self, ip, &port);
mp_obj_t tuple_contents[2];
tuple_contents[0] = MP_OBJ_FROM_PTR(sock);
diff --git a/shared-bindings/socketpool/Socket.h b/shared-bindings/socketpool/Socket.h
index e2ea32d39..b5dceb50f 100644
--- a/shared-bindings/socketpool/Socket.h
+++ b/shared-bindings/socketpool/Socket.h
@@ -35,7 +35,7 @@ void common_hal_socketpool_socket_settimeout(socketpool_socket_obj_t* self, mp_u
bool common_hal_socketpool_socket_bind(socketpool_socket_obj_t* self, const char* host, size_t hostlen, uint8_t port);
bool common_hal_socketpool_socket_listen(socketpool_socket_obj_t* self, int backlog);
-int common_hal_socketpool_socket_accept(socketpool_socket_obj_t* self, uint8_t* ip, uint *port);
+socketpool_socket_obj_t * common_hal_socketpool_socket_accept(socketpool_socket_obj_t* self, uint8_t* ip, uint *port);
bool common_hal_socketpool_socket_connect(socketpool_socket_obj_t* self, const char* host, size_t hostlen, mp_int_t port);
mp_uint_t common_hal_socketpool_socket_send(socketpool_socket_obj_t* self, const uint8_t* buf, mp_uint_t len);