|
36 | 36 | #include "shared-bindings/socketpool/Socket.h"
|
37 | 37 | #include "shared-bindings/socketpool/SocketPool.h"
|
38 | 38 |
|
39 |
| -#define SOCKETPOOL_EAI_NONAME (-2) |
40 |
| - |
41 | 39 | //| class SocketPool:
|
42 | 40 | //| """A pool of socket resources available for the given radio. Only one
|
43 | 41 | //| SocketPool can be created for each radio.
|
@@ -151,15 +149,7 @@ STATIC mp_obj_t socketpool_socketpool_getaddrinfo(size_t n_args, const mp_obj_t
|
151 | 149 | }
|
152 | 150 |
|
153 | 151 | if (ip_str == mp_const_none) {
|
154 |
| - ip_str = common_hal_socketpool_socketpool_gethostbyname(self, host); |
155 |
| - } |
156 |
| - |
157 |
| - if (ip_str == mp_const_none) { |
158 |
| - mp_obj_t exc_args[2] = { |
159 |
| - MP_OBJ_NEW_SMALL_INT(SOCKETPOOL_EAI_NONAME), |
160 |
| - MP_OBJ_NEW_QSTR(MP_QSTR_Name_space_or_space_service_space_not_space_known), |
161 |
| - }; |
162 |
| - nlr_raise(mp_obj_new_exception_args(&mp_type_gaierror, 2, exc_args)); |
| 152 | + ip_str = common_hal_socketpool_socketpool_gethostbyname_raise(self, host); |
163 | 153 | }
|
164 | 154 |
|
165 | 155 | mp_obj_tuple_t *tuple = MP_OBJ_TO_PTR(mp_obj_new_tuple(5, NULL));
|
@@ -203,3 +193,21 @@ const mp_obj_type_t socketpool_socketpool_type = {
|
203 | 193 | .make_new = socketpool_socketpool_make_new,
|
204 | 194 | .locals_dict = (mp_obj_dict_t *)&socketpool_socketpool_locals_dict,
|
205 | 195 | };
|
| 196 | + |
| 197 | +MP_WEAK |
| 198 | +mp_obj_t common_hal_socketpool_socketpool_gethostbyname_raise(socketpool_socketpool_obj_t *self, const char *host) { |
| 199 | + mp_obj_t ip_str = common_hal_socketpool_socketpool_gethostbyname(self, host); |
| 200 | + if (ip_str == mp_const_none) { |
| 201 | + common_hal_socketpool_socketpool_raise_gaierror(SOCKETPOOL_EAI_NONAME, MP_QSTR_Name_space_or_space_service_space_not_space_known); |
| 202 | + } |
| 203 | + return ip_str; |
| 204 | +} |
| 205 | + |
| 206 | +MP_WEAK NORETURN |
| 207 | +void common_hal_socketpool_socketpool_raise_gaierror(int value, qstr name) { |
| 208 | + mp_obj_t exc_args[2] = { |
| 209 | + MP_OBJ_NEW_SMALL_INT(value), |
| 210 | + MP_OBJ_NEW_QSTR(name), |
| 211 | + }; |
| 212 | + nlr_raise(mp_obj_new_exception_args(&mp_type_gaierror, 2, exc_args)); |
| 213 | +} |
0 commit comments