Commit Graph

103 Commits

Author SHA1 Message Date
Mattia Giambirtone 760e25bff7 Fixes and refactoring 2024-03-29 15:16:05 +01:00
Mattia Giambirtone e014460138 Remove unnecessary checkpoint 2024-03-26 11:57:03 +01:00
Mattia Giambirtone 1ba76ecdee Minor refactoring and cleanup. Added LIFO policy 2024-03-26 11:54:39 +01:00
Mattia Giambirtone 9e1301322a Fix more bugs in Ctrl+C delivery and restrict_ki_to_checkpoints 2024-03-25 21:38:48 +01:00
Mattia Giambirtone 723efc91fe Simplify and improve Ctrl+C delivery. System task status is now inherited for children of tasks spawned via spawn_system_task 2024-03-25 20:57:01 +01:00
Mattia Giambirtone bfd494a2d7 TaskScope parent is thrown into only if scope has terminated 2024-03-25 19:45:45 +01:00
Mattia Giambirtone b8cdeef41c Fix more bugs. Proxy example now working 2024-03-25 19:28:23 +01:00
Mattia Giambirtone 90e182c28b Fixups and minor changes. Added (failing) two-way proxy test. Needs debugging 2024-03-24 17:05:25 +01:00
Mattia Giambirtone 73a8f3b8e3 Reformat with black 2024-03-23 13:14:12 +01:00
Mattia Giambirtone 060d61dc32 Fix various bugs with I/O and timeouts 2024-03-22 18:16:41 +01:00
Mattia Giambirtone 5071399431 Apply ugly hotfix to I/O manager 2024-03-19 22:22:34 +01:00
Mattia Giambirtone c85e3037e4 Fixed a bug with nested task scopes and deadlines. Add correctness checks to TaskPool and other minor changes 2024-03-19 21:44:50 +01:00
Mattia Giambirtone bc5e0f167f Initial work on refactoring the kernel 2024-03-18 14:59:52 +01:00
Mattia Giambirtone e647b7631d Fix cancellation bugs and add ability to call some objects in remote python processes 2024-03-16 22:17:45 +01:00
Mattia Giambirtone e4f50fe95a Various socket bugfixes. Initial communication layer for remote async python processes 2024-03-16 01:08:20 +01:00
Mattia Giambirtone e6f3f9b8eb Improve process handling by adding shutdown tasks. Various bug fixes and minor improvements 2024-03-12 16:26:59 +01:00
Mattia Giambirtone d7070c8bbf Initial experimental work for auto-joining process pools 2024-03-11 12:17:41 +01:00
Mattia Giambirtone 9b6735b924 Add missing is_readable method to AsyncSocket for httpx compatibility 2024-03-10 19:48:03 +01:00
Mattia Giambirtone 62b2f19527 Preliminary work on process pools. Remove smart events 2024-03-10 19:35:00 +01:00
Mattia Giambirtone 3a2edfba1f Update .gitignore 2024-03-10 17:23:22 +01:00
Mattia Giambirtone 91ca2c8ee6
Initial work on LIFO and priority queues. Process pool skeleton 2024-03-10 17:18:19 +01:00
Mattia Giambirtone e1485d9317
Reformat with black 2024-02-23 13:13:47 +01:00
Mattia Giambirtone d77ddcf6a6
Fix issues with memory channels 2024-02-23 13:13:47 +01:00
Mattia Giambirtone 2aecb7f440
structio.thread.run_coro now makes sure the event loop is running before submitting tasks 2024-02-23 13:13:47 +01:00
Mattia Giambirtone d5b9564d7a
Fix minor issues 2024-02-23 13:13:47 +01:00
Mattia Giambirtone 12f4e5c0bf
Fixed minor timeout issues 2024-02-23 13:13:46 +01:00
Mattia Giambirtone a95be6d26c
Fixes to timeouts and initial work on true TLS capabilities 2024-02-23 13:13:46 +01:00
Mattia Giambirtone a03c01b74c
Fixed socket locking issues 2024-02-23 13:13:46 +01:00
Mattia Giambirtone b39d0ff809
Improved smart_events test with more examples 2024-02-23 13:13:46 +01:00
Mattia Giambirtone 4287296efc
Fixed mistake with MemoryChannel constructor 2024-02-23 13:13:46 +01:00
Mattia Giambirtone 6b098b7c46
Minor fixes for Windows support and httpx compatibility 2024-02-23 13:13:46 +01:00
Mattia Giambirtone 51a5cd072a
Added X_noblock methods to Queue class 2024-02-23 13:13:46 +01:00
Mattia Giambirtone 95e265aca1
Fix multiprocessing support on Windows 2024-02-23 13:13:45 +01:00
Mattia Giambirtone 7f790051b2
Minor fixes to socket functions 2024-02-23 13:13:45 +01:00
Mattia Giambirtone 7cd087307a
Fix typo 2024-02-23 13:13:45 +01:00
Mattia Giambirtone 38f9a22ae1
Minor change to connect_tcp_socket internals 2024-02-23 13:13:45 +01:00
Mattia Giambirtone 09a4e2f576
Fixes to I/O waiting 2024-02-23 13:13:45 +01:00
Mattia Giambirtone c5d55e6ea6
Linux-specific socketpair fix 2024-02-23 13:13:45 +01:00
Mattia Giambirtone 0db7c2e4d3
Initial work on Windows support and various fixes 2024-02-23 13:13:45 +01:00
Mattia Giambirtone 5bf46de096
Fixed more issues with timeouts 2024-02-23 13:13:44 +01:00
Mattia Giambirtone 4d50130d53
Minor fix to timeout test and added timed_out field 2024-02-23 13:13:44 +01:00
Mattia Giambirtone 351a212ccd
Fixed issue with silent timeouts in scopes 2024-02-23 13:13:44 +01:00
Mattia Giambirtone 09ad7e12e3
Changed order of operations to ensure speedy cancellation 2024-02-23 13:13:44 +01:00
Mattia Giambirtone 4c969d7827
More fixes to Ctrl+C 2024-02-23 13:13:44 +01:00
Mattia Giambirtone 993cb118e3
Fixed bugs with scope tracking and various minor fixes 2024-02-23 13:13:44 +01:00
Mattia Giambirtone 4f2c4979fd
Kernel state is now properly reset across runs. Improved https test 2024-02-23 13:13:44 +01:00
Mattia Giambirtone fd6037ba88
Various bug fixes and simplifications 2024-02-23 13:13:44 +01:00
Mattia Giambirtone 9e6ee1e104
Many fixes to nested scope handling, added stress test and scope tree test 2024-02-23 13:13:43 +01:00
Mattia Giambirtone e0f2e87cad
Signal handlers and deliveries are now reset across calls to run() 2024-02-23 13:13:43 +01:00
Mattia Giambirtone e452ab4a25
Minor fixes 2024-02-23 13:13:43 +01:00