|
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