Commit Graph

147 Commits

Author SHA1 Message Date
4lDO2 6e89e4528b Enforce stricter setpgid checks. 2025-04-20 16:15:18 +02:00
Jeremy Soller c2b25e100c Merge branch 'procmgr' into 'master'
Implement process manager

See merge request redox-os/bootstrap!18
2025-04-19 18:13:01 +00:00
4lDO2 883b05b899 Use redox-os/relibc git dep. 2025-04-19 20:10:04 +02:00
4lDO2 0c72bd778d Use redox-os/syscall git dep. 2025-04-19 19:29:17 +02:00
4lDO2 47784aa56d Update redox-rt. 2025-04-19 18:50:31 +02:00
4lDO2 10a41dbcf3 Synchronize kernel proc attrs properly. 2025-04-19 13:17:48 +02:00
4lDO2 02e9a2a19c Update redox_scheme. 2025-04-19 12:53:06 +02:00
4lDO2 c6de9f768c Make thread fds Weak; reparent to init, not ppid. 2025-04-19 12:52:18 +02:00
4lDO2 1b092a11d5 Add /scheme/proc/ps handler for reading info. 2025-04-19 12:52:18 +02:00
4lDO2 7fc0f04f03 Store process name. 2025-04-19 12:52:18 +02:00
4lDO2 ba823cf5f1 Add ProcCall::Getppid and implement reparenting. 2025-04-19 12:52:17 +02:00
4lDO2 5cbcb06727 Fix ECHILD check and reap, fixing bash. 2025-04-19 12:52:17 +02:00
4lDO2 771993b260 Potential fix for KillThread for sig>32. 2025-04-19 12:52:17 +02:00
4lDO2 3e58f6ad16 Mod sig_idx by 32. 2025-04-19 12:52:17 +02:00
4lDO2 486c8496b5 Add missing kill uid checks. 2025-04-19 12:52:17 +02:00
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