Commit Graph

132 Commits

Author SHA1 Message Date
4lDO2 26371995cb Fix kill(getpid(), ...). 2025-04-19 12:52:17 +02:00
4lDO2 c881b14698 Allow indicating 'exited from signal'. 2025-04-19 12:52:17 +02:00
4lDO2 898c5268ef Fix misc TODOs. 2025-04-19 12:52:17 +02:00
4lDO2 4b27f83bf9 Handle both 'any' and 'any pgid-matching' child in waitpid. 2025-04-19 12:52:17 +02:00
4lDO2 713ba3b23d Import sig numbers from redox_rt rather than syscall. 2025-04-19 12:52:16 +02:00
4lDO2 baeb9d0f9c Add reference to NLnet project. 2025-04-19 12:52:16 +02:00
4lDO2 0036fffd82 WIP: Recognize SIGKILL and unhandled exceptions. 2025-04-19 12:52:16 +02:00
4lDO2 8784fb5010 Handle stop signals correctly for orphaned pgrps, fixing bash. 2025-04-19 12:52:16 +02:00
4lDO2 7bebb711d3 Properly return EINVAL if sig>64. 2025-04-19 12:52:16 +02:00
4lDO2 dd53cebf91 Implement Sigdeq, fixing sigqueue test. 2025-04-19 12:52:16 +02:00
4lDO2 b4d42897d8 Return ERESTART when caller kills itself. 2025-04-19 12:52:16 +02:00
4lDO2 f6898a0e45 Pass exit status to waitpid correctly. 2025-04-19 12:52:16 +02:00
4lDO2 4ff5ddb242 Update Cargo.lock. 2025-04-19 12:52:15 +02:00
4lDO2 3f54d0c80c Remove unnecessary debug. 2025-04-19 12:50:46 +02:00
4lDO2 368fe1c186 Do not internally spawn exit() dying thread was last. 2025-04-19 12:50:46 +02:00
4lDO2 7edba6b84b Fix fd mismatch for thread event handling. 2025-04-19 12:50:46 +02:00
4lDO2 b7cb70859f Implement ThreadCall::SignalThread. 2025-04-19 12:50:46 +02:00
4lDO2 9c590bf369 Fix waitpid hang for exception-caused termination. 2025-04-19 12:50:46 +02:00
4lDO2 9441775331 Embed Id in VirtualId. 2025-04-19 12:50:46 +02:00
4lDO2 d59597b3dd Add TODO for proc termination without explicit exit. 2025-04-19 12:50:46 +02:00
4lDO2 ab3f59b22b Reacquire thread fd as procmgr-managed before exec init. 2025-04-19 12:50:45 +02:00
4lDO2 53705b7049 Some fixes. 2025-04-19 12:50:45 +02:00
4lDO2 362daf5ca9 Add SIGCHLD logic. 2025-04-19 12:50:45 +02:00
4lDO2 7845d74df1 Impl SIGCONT and SIGSTOP. 2025-04-19 12:50:45 +02:00
4lDO2 a47396e2b9 Fix SyncTctl and SyncPctl. 2025-04-19 12:50:45 +02:00
4lDO2 7902fc7c4d Add thread handle type, thus wrapping open_via_dup. 2025-04-19 12:50:45 +02:00
4lDO2 ae05abf69d Fix two instances of double RefCell borrow. 2025-04-19 12:50:45 +02:00
4lDO2 bdf9563688 Make setresugid atomic. 2025-04-19 12:50:45 +02:00
4lDO2 8434aa9fd8 Add ThisGroup selector for kill. 2025-04-19 12:50:45 +02:00
4lDO2 4d18d17dd2 Remove redundant match arm. 2025-04-19 12:50:44 +02:00
4lDO2 b4f717bac6 Implement setresugid. 2025-04-19 12:50:44 +02:00
4lDO2 0c5b47e677 Phase out static mut for global allocator. 2025-04-19 12:50:44 +02:00
4lDO2 a2861753de Implement setsid. 2025-04-19 12:50:44 +02:00
4lDO2 ae63c54988 Implement getsid. 2025-04-19 12:50:44 +02:00
4lDO2 a0fc7febfc Make send_signal code compile. 2025-04-19 12:50:44 +02:00
4lDO2 fbbb27b0e5 Tmp disable kill and wrap Process in Rc. 2025-04-19 12:50:44 +02:00
4lDO2 a7df1a1734 progress. 2025-04-19 12:50:44 +02:00
4lDO2 19cb1c0512 WIP: start implementing kill. 2025-04-19 12:50:44 +02:00
4lDO2 fd3a9f9a94 Add stub for kill and sigq. 2025-04-19 12:50:43 +02:00
4lDO2 443c49f6c5 Implement most of getpgid and setpgid. 2025-04-19 12:50:43 +02:00
4lDO2 0a1e1b2f9c Implement new-thread. 2025-04-19 12:50:43 +02:00
4lDO2 80ed3c47d1 Use inner loop to handle multiple reqs per event. 2025-04-19 12:50:43 +02:00
4lDO2 e5a97a68c9 Use log crate. 2025-04-19 12:50:43 +02:00
4lDO2 fdbc00b0fc Pass status in waitpid. 2025-04-19 12:50:43 +02:00
4lDO2 bdb665d897 Ensure new_awoken are handled before event queue wait. 2025-04-19 12:50:43 +02:00
4lDO2 ddc47a7e43 Fix incorrect waitpid request pid. 2025-04-19 12:50:43 +02:00
4lDO2 7e8b8d7183 Make it compile. 2025-04-19 12:50:43 +02:00
4lDO2 016c60c11f Fix most errors. 2025-04-19 12:50:42 +02:00
4lDO2 cbe00a9be8 Impl waitpid further, still does not compile. 2025-04-19 12:50:42 +02:00
4lDO2 82d59302c8 Impl basic state machine for proc exit. 2025-04-19 12:50:42 +02:00