1
0
Fork 0
mirror of https://gitlab.com/sortix/sortix.git synced 2023-02-13 20:55:38 -05:00
sortix--sortix/kernel
Jonas 'Sortie' Termansen 62bd9bf901 Fix pid 1 deadlocking when exiting with children.
The child processes of pid 1 were being reparented to pid 1, causing an
infinite loop. This change fixes the problem by adding a hook that runs in
the last thread about to exit in a process. When pid 1 exits, the hook will
prevent more processes and threads from being created, and then broadcast
kill all processes and threads. The hook is not run in LastPrayer(), as that
function runs in a worker thread and it can't block waiting for another
thread to run LastPrayer() in the same thread.
2018-08-06 23:59:35 +02:00
..
disk Fix SEEK_END, file offset overflow, and read/write/mkpartition syscall bugs. 2017-12-04 23:56:46 +01:00
fs Fix st_blksize and st_blocks kernel values. 2018-03-31 00:55:33 +02:00
gpu/bga Add cache-aware memory mapping functions. 2017-02-19 12:13:32 +01:00
include/sortix Fix pid 1 deadlocking when exiting with children. 2018-08-06 23:59:35 +02:00
kb
mouse
net Implement getpeername(2) and getsockname(2). 2017-02-26 22:24:35 +01:00
x64 Clear the direction flag upon entry to the kernel. 2017-06-12 21:26:26 +01:00
x86 Clear the direction flag upon entry to the kernel. 2017-06-12 21:26:26 +01:00
x86-family Prioritize the interrupt worker thread. 2017-05-18 22:40:46 +02:00
.gitignore
addralloc.cpp Fix kernel/addralloc.cpp file header comment. 2017-08-20 12:44:59 +02:00
alarm.cpp
clock.cpp Make interrupt work thread reliable. 2017-04-12 23:22:09 +02:00
com.cpp
com.h
copy.cpp
descriptor.cpp Fix SEEK_END, file offset overflow, and read/write/mkpartition syscall bugs. 2017-12-04 23:56:46 +01:00
dtable.cpp Check overflows in the descriptor table. 2017-04-03 18:07:23 -05:00
elf.cpp
end.cpp
fcache.cpp Fix SEEK_END, file offset overflow, and read/write/mkpartition syscall bugs. 2017-12-04 23:56:46 +01:00
fsfunc.cpp
hostname.cpp
identity.cpp
initrd.cpp Fix incompatibilities in the kernel tar extraction. 2018-03-30 23:42:37 +02:00
initrd.h
inode.cpp Fix st_blksize and st_blocks kernel values. 2018-03-31 00:55:33 +02:00
interlock.cpp
interrupt.cpp Prioritize the interrupt worker thread. 2017-05-18 22:40:46 +02:00
io.cpp Fix SEEK_END, file offset overflow, and read/write/mkpartition syscall bugs. 2017-12-04 23:56:46 +01:00
ioctx.cpp
kernel.cpp Fix pid 1 deadlocking when exiting with children. 2018-08-06 23:59:35 +02:00
kernelinfo.cpp
kthread.cpp Fix pid 1 deadlocking when exiting with children. 2018-08-06 23:59:35 +02:00
lfbtextbuffer.cpp Support 8-bit/24-bit color and more escape codes in the graphical console. 2016-11-27 11:19:03 +01:00
lfbtextbuffer.h Support 8-bit/24-bit color and more escape codes in the graphical console. 2016-11-27 11:19:03 +01:00
libk.cpp
linebuffer.cpp
linebuffer.h
log.cpp Add cache-aware memory mapping functions. 2017-02-19 12:13:32 +01:00
logterminal.cpp
logterminal.h
Makefile Add socket(2). 2017-02-14 20:43:31 +01:00
memorymanagement.cpp Fix SEEK_END, file offset overflow, and read/write/mkpartition syscall bugs. 2017-12-04 23:56:46 +01:00
mtable.cpp
multiboot.h
op-new.cpp
palette.h Support 8-bit/24-bit color and more escape codes in the graphical console. 2016-11-27 11:19:03 +01:00
panic.cpp Fix technical typo. 2017-04-08 22:20:03 +02:00
partition.cpp Fix st_blksize and st_blocks kernel values. 2018-03-31 00:55:33 +02:00
partition.h
pci-mmio.cpp Add cache-aware memory mapping functions. 2017-02-19 12:13:32 +01:00
pci.cpp Add PCI scanning functions and busmastering functions. 2017-02-19 12:10:59 +01:00
pipe.cpp Fix SEEK_END, file offset overflow, and read/write/mkpartition syscall bugs. 2017-12-04 23:56:46 +01:00
poll.cpp
process.cpp Fix pid 1 deadlocking when exiting with children. 2018-08-06 23:59:35 +02:00
psctl.cpp
ptable.cpp
pty.cpp
pty.h
random.cpp
refcount.cpp
registers.cpp
resource.cpp
scheduler.cpp Prioritize the interrupt worker thread. 2017-05-18 22:40:46 +02:00
segment.cpp
signal.cpp
sockopt.cpp
string.cpp
syscall.cpp Fail with ENOSYS on bad system calls. 2017-06-14 20:00:50 +01:00
textbuffer.cpp Fix operator spacing in kernel/textbuffer.cpp. 2017-04-18 23:32:00 +02:00
textterminal.cpp Fix saving and restoring console cursor position. 2017-01-22 22:28:58 +01:00
textterminal.h Support 8-bit/24-bit color and more escape codes in the graphical console. 2016-11-27 11:19:03 +01:00
thread.cpp Fix pid 1 deadlocking when exiting with children. 2018-08-06 23:59:35 +02:00
time.cpp
timer.cpp Make interrupt work thread reliable. 2017-04-12 23:22:09 +02:00
tty.cpp
tty.h
uart.cpp
uart.h
user-timer.cpp
vga.cpp
vga.h
vgafont.f16
vgatextbuffer.cpp Support 8-bit/24-bit color and more escape codes in the graphical console. 2016-11-27 11:19:03 +01:00
vgatextbuffer.h
video.cpp
vnode.cpp Implement getpeername(2) and getsockname(2). 2017-02-26 22:24:35 +01:00
worker.cpp