Angus Gratton
97f444bfa0
extmod/mbedtls: Try GC before failing to setup socket on esp32, unix.
...
On mbedTLS ports with non-baremetal configs (mostly esp32, technically also
unix port), mbedTLS memory is allocated from the libc heap. This means an
old SSL socket may be holding large SSL buffers and preventing a new SSL
socket from being allocated.
As a workaround, trigger a GC pass and retry before failing outright.
This was originally implemented as a global mbedTLS calloc function, but
there is complexity around the possibility of C user modules calling into
mbedTLS without holding the GIL. It would be interesting to try making a
generic version for any malloc which fails, but this would require checking
for a Python thread and probably making the GIL recursive.
This work was funded through GitHub Sponsors.
Signed-off-by: Angus Gratton <angus@redyak.com.au >
2025-02-03 15:02:02 +11:00
..
2024-02-28 15:48:51 +11:00
2024-03-07 16:25:17 +11:00
2024-03-16 12:19:12 +11:00
2024-03-07 14:20:42 +11:00
2024-09-06 17:14:03 +10:00
2025-01-29 12:36:27 +11:00
2025-01-17 10:10:57 +11:00
2024-11-05 11:27:06 +11:00
2025-01-17 10:10:57 +11:00
2025-01-17 10:10:57 +11:00
2022-05-05 13:30:40 +10:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-03-08 13:31:02 +11:00
2024-03-15 12:04:34 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-03-15 12:04:25 +11:00
2024-07-12 22:59:31 +10:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-07-02 10:23:26 +10:00
2024-03-07 14:20:42 +11:00
2023-12-22 10:26:52 +11:00
2024-06-20 00:11:05 +10:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-07-22 10:42:29 +10:00
2024-03-07 14:20:42 +11:00
2025-01-02 13:33:39 +11:00
2024-11-28 22:56:44 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2025-01-29 10:49:34 +11:00
2024-07-20 12:18:07 +10:00
2024-03-15 14:22:11 +11:00
2024-08-29 23:46:13 +10:00
2024-08-29 23:46:13 +10:00
2024-03-07 14:20:42 +11:00
2024-08-08 17:59:32 +10:00
2024-08-08 17:59:32 +10:00
2024-03-15 18:11:28 +11:00
2024-08-08 18:02:21 +10:00
2024-03-15 18:11:28 +11:00
2024-12-20 21:58:50 +11:00
2024-03-07 14:20:42 +11:00
2024-12-10 12:10:36 +11:00
2024-03-07 14:20:42 +11:00
2024-08-14 12:55:45 +10:00
2024-03-07 14:20:42 +11:00
2025-01-02 13:33:39 +11:00
2024-03-07 14:20:42 +11:00
2023-06-08 17:54:14 +10:00
2024-03-28 17:36:13 +11:00
2025-02-03 15:02:02 +11:00
2024-12-18 11:00:08 +11:00
2024-12-23 13:04:54 +11:00
2024-07-04 15:55:03 +10:00
2024-03-07 14:20:42 +11:00
2023-06-08 17:54:14 +10:00
2020-09-08 11:41:31 +10:00
2022-06-03 11:53:28 +10:00
2024-11-20 14:42:26 +11:00
2019-06-03 16:47:35 +10:00
2024-07-04 15:55:03 +10:00
2024-07-04 15:55:03 +10:00
2024-07-12 01:03:46 +10:00
2024-11-13 13:11:32 +11:00
2024-10-23 16:29:28 +11:00
2024-03-16 10:59:03 +11:00
2024-11-13 14:21:29 +11:00
2024-03-07 14:20:42 +11:00
2024-03-07 14:20:42 +11:00
2024-07-23 11:39:17 +10:00
2019-10-29 12:12:37 +11:00
2024-03-07 14:20:42 +11:00
2019-10-29 14:17:29 +11:00
2024-03-07 14:20:42 +11:00
2024-07-04 15:55:03 +10:00
2024-10-09 15:03:07 +11:00
2024-07-04 15:55:03 +10:00
2018-06-06 14:33:42 +10:00
2024-12-23 13:04:54 +11:00
2024-12-23 13:04:54 +11:00
2024-12-23 13:04:54 +11:00
2024-12-23 13:04:54 +11:00
2024-12-20 21:58:50 +11:00
2024-12-20 21:58:50 +11:00
2022-09-19 19:06:07 +10:00
2017-07-18 11:57:39 +10:00