Commit Graph

1451 Commits

Author SHA1 Message Date
4lDO2 284f51b47e Fix struct sigaction defintion. 2024-07-09 15:39:57 +02:00
4lDO2 b64b0ebe18 Handle kill and killpg EINTR. 2024-07-09 15:00:58 +02:00
4lDO2 78247c8525 Pass signal correctly to SYS_KILL. 2024-07-09 15:00:58 +02:00
4lDO2 8298417dee Implement sigpending on Redox. 2024-07-09 15:00:58 +02:00
4lDO2 c639fd37ba Implement sigaltstack. 2024-07-09 15:00:57 +02:00
4lDO2 5460ffc4c9 Jump to trampoline after SYS_{READ,WRITE} EINTR. 2024-07-09 15:00:57 +02:00
4lDO2 63509e75ce Use new signal ABI where 'actions' are in shmem. 2024-07-09 15:00:56 +02:00
4lDO2 2d66993b3f Adapt to now-inverted signal mask (allowset). 2024-07-09 15:00:55 +02:00
4lDO2 18b5c73b61 Compile on the other arches. 2024-07-09 15:00:55 +02:00
4lDO2 f37bb3cb16 Fix sigaction test on Linux, and rustfmt. 2024-07-09 15:00:55 +02:00
4lDO2 0ea2b5d45f Fix compilation on Linux. 2024-07-09 15:00:55 +02:00
4lDO2 a1e1a159ae Initialize altstack properly. 2024-07-09 15:00:54 +02:00
4lDO2 a265c8b7a0 Reimplement libredox sig{procmask,action}. 2024-07-09 15:00:54 +02:00
4lDO2 b6eb7dcf0f Impl From<Errno> for syscall::Error. 2024-07-09 15:00:54 +02:00
4lDO2 c217745524 Mark sig{add,del}set unsafe, rather than unsound. 2024-07-09 15:00:54 +02:00
4lDO2 42c24dd755 Successfully run more userspace. 2024-07-09 15:00:53 +02:00
4lDO2 a2ab86d253 Implement signal selection in asm, for SA_ONSTACK. 2024-07-09 15:00:53 +02:00
4lDO2 4e93f68324 Implement hack to ensure TCB exists in bootstrap. 2024-07-09 15:00:53 +02:00
4lDO2 58d1153536 Split part of TCB into generic-rt 2024-07-09 15:00:53 +02:00
4lDO2 edfe46c60b Write x86-64 signal trampoline asm stub. 2024-07-09 15:00:52 +02:00
4lDO2 5177ca3926 Remove memoffset dependency. 2024-07-09 15:00:52 +02:00
4lDO2 7d562920c2 Add sigaction boilerplate. 2024-07-09 15:00:52 +02:00
4lDO2 e1d3bf475a Increase SIGRTMIN to 35. 2024-07-09 15:00:52 +02:00
4lDO2 53ed7aae59 Move rlct_clone, sigprocmask, sigaction, to rt. 2024-07-09 15:00:52 +02:00
4lDO2 4eb20628f3 Move some of signal config to redox-rt. 2024-07-09 15:00:52 +02:00
4lDO2 a800693266 Refactor: move redox-exec into redox-rt::proc. 2024-07-09 15:00:52 +02:00
Derick Eddington 572f211be0 Fix getgrgid_r. 2024-07-06 22:47:55 -07:00
Derick Eddington 7c81de68b8 Fix header::grp::parse_grp. 2024-07-06 22:47:55 -07:00
Derick Eddington 802748b611 Fix Rwlock::acquire_write_lock to avoid blocking indefinitely.
Without this fix, `tests/bins_static/pthread/rwlock_randtest` would sometimes get stuck blocking
forever with only 1+ threads all doing `pthread_rwlock_wrlock()` but all the other threads
having finished.
2024-07-06 22:47:55 -07:00
4lDO2 4c11b607de Implement pread and pwrite using the syscalls. 2024-06-14 14:10:47 +02:00
4lDO2 6e86e64fdf Move pthread into TCB. 2024-06-08 11:36:22 +02:00
4lDO2 326c8a6231 Split shared ld_so code and actual ld_so stubs. 2024-06-08 11:36:06 +02:00
Jeremy Soller 73952b69ed Update to new nightly 2024-05-11 14:00:59 -06:00
Jeremy Soller b7a4527ab8 Do not print on unsupported epoll flags 2024-05-06 15:24:56 -06:00
Jeremy Soller 8ab61e3d9a Convert syscall events to EPOLL events 2024-05-06 15:16:31 -06:00
Jeremy Soller 0f5e6a5649 Correct EPOLL constants 2024-05-06 15:00:50 -06:00
Jeremy Soller 59e7d2d70f Return 0 when epoll_ctl is successful 2024-05-06 14:29:21 -06:00
Jeremy Soller 371cde006b Format 2024-05-06 14:28:42 -06:00
Jacob Lorentzon 1fba2ef10a Various futex fixes 2024-04-05 20:31:06 +00:00
4lDO2 c53c38bcae Fix double slashes in fpath. 2024-04-02 15:10:03 +02:00
4lDO2 e0a3811736 Protect fork() and clone() behind a rwlock.
rlct_clone will acquire a read lock, whereas fork will acquire a write
lock. The write lock is necessary because the fork will clone the file
table, which would result in other threads' fork/clone file descriptors
not being closed. If an address space switch fd never gets closed, fork
child processes and new threads, may never switch address spaces before
they are started, which has resulted in hard-to-debug RIP=0 instr fetch
page faults.
2024-03-27 10:30:49 +01:00
Jacob Lorentzon f7ac690c45 Fix pthread rwlock code 2024-03-26 15:46:32 +00:00
4lDO2 6e1a0668aa Fix i686 signal trampoline asm. 2024-03-25 11:26:59 +01:00
4lDO2 b4799fdc28 Don't map thread stacks as MAP_SHARED, lol.
MAP_SHARED means it will continue to be shared after forks, which
obviously isn't the correct behavior. `acid thread` doesn't segfault
infinitely, anymore.
2024-03-25 11:25:37 +01:00
4lDO2 df91c67cf0 Implement redox_mkfs_v1. 2024-03-18 17:18:42 +01:00
4lDO2 53f7b640bd Update redox_syscall. 2024-03-17 18:13:05 +01:00
4lDO2 f2c53e03ee Implement the event queue ABI. 2024-03-17 18:02:07 +01:00
Jacob Lorentzon e0b640d530 Implement new low-level signal trampoline 2024-03-17 16:58:42 +00:00
Jeremy Soller e7ebd7c381 Merge branch 'fix_arm64_thread_spawn' into 'master'
Fix thread spawning on aarch64

See merge request redox-os/relibc!463
2024-03-17 16:32:16 +00:00
bjorn3 7ac379a7a1 Fix thread spawning on aarch64
* Correctly align the stack
* Fix argument order of the ldp instructions
* Remove unnecessary ldr x5 instruction
2024-03-17 17:09:41 +01:00