@@ -278,7 +278,9 @@ STATIC mp_obj_t socket_bind(mp_obj_t self_in, mp_obj_t addr_in) {
278278 struct sockaddr sockaddr ;
279279 parse_inet_addr (socket , addr_in , & sockaddr );
280280
281- RAISE_ERRNO (net_context_bind (socket -> ctx , & sockaddr , sizeof (sockaddr )));
281+ int res = zsock_bind (socket -> ctx , & sockaddr , sizeof (sockaddr ));
282+ RAISE_SOCK_ERRNO (res );
283+
282284 // For DGRAM socket, we expect to receive packets after call to bind(),
283285 // but for STREAM socket, next expected operation is listen(), which
284286 // doesn't work if recv callback is set.
@@ -297,7 +299,9 @@ STATIC mp_obj_t socket_connect(mp_obj_t self_in, mp_obj_t addr_in) {
297299 struct sockaddr sockaddr ;
298300 parse_inet_addr (socket , addr_in , & sockaddr );
299301
300- RAISE_ERRNO (net_context_connect (socket -> ctx , & sockaddr , sizeof (sockaddr ), NULL , K_FOREVER , NULL ));
302+ int res = zsock_connect (socket -> ctx , & sockaddr , sizeof (sockaddr ));
303+ RAISE_SOCK_ERRNO (res );
304+
301305 DEBUG_printf ("Setting recv cb after connect()\n" );
302306 RAISE_ERRNO (net_context_recv (socket -> ctx , sock_received_cb , K_NO_WAIT , socket ));
303307 return mp_const_none ;
@@ -309,8 +313,9 @@ STATIC mp_obj_t socket_listen(mp_obj_t self_in, mp_obj_t backlog_in) {
309313 socket_check_closed (socket );
310314
311315 mp_int_t backlog = mp_obj_get_int (backlog_in );
312- RAISE_ERRNO (net_context_listen (socket -> ctx , backlog ));
313- RAISE_ERRNO (net_context_accept (socket -> ctx , sock_accepted_cb , K_NO_WAIT , socket ));
316+ int res = zsock_listen (socket -> ctx , backlog );
317+ RAISE_SOCK_ERRNO (res );
318+
314319 return mp_const_none ;
315320}
316321STATIC MP_DEFINE_CONST_FUN_OBJ_2 (socket_listen_obj , socket_listen );
@@ -319,9 +324,9 @@ STATIC mp_obj_t socket_accept(mp_obj_t self_in) {
319324 socket_obj_t * socket = self_in ;
320325 socket_check_closed (socket );
321326
322- struct net_context * ctx = k_fifo_get ( & SOCK_FIELD ( socket , accept_q ), K_FOREVER ) ;
323- // Was overwritten by fifo
324- ctx -> refcount = 1 ;
327+ struct sockaddr sockaddr ;
328+ socklen_t addrlen = sizeof ( sockaddr );
329+ void * ctx = zsock_accept ( socket -> ctx , & sockaddr , & addrlen ) ;
325330
326331 socket_obj_t * socket2 = socket_new ();
327332 socket2 -> ctx = ctx ;
0 commit comments