|
d7fee26aa2
|
initrd+libc: Add /etc/group and grp.h
|
2023-05-06 12:01:47 +02:00 |
|
|
9184bbfef6
|
kernel: Disallow passing O_WRONLY and O_DIRECTORY at the same time
continuous-integration/drone/push Build is passing
|
2023-05-05 18:53:50 +02:00 |
|
|
349ba0acb1
|
libc: Add syscall wrappers for unlinkat() and openat()
continuous-integration/drone/push Build is passing
|
2023-05-05 18:50:35 +02:00 |
|
|
d9d8f7cdc7
|
kernel: Remove unused headers from main.cpp
continuous-integration/drone/push Build is passing
|
2023-05-04 23:59:46 +02:00 |
|
|
293a992133
|
kernel: Add a kernel_wait_for_event() function to avoid weird calls to kernel_wait in kthreads
continuous-integration/drone/push Build is passing
|
2023-05-04 23:43:00 +02:00 |
|
|
4a7f68b989
|
kernel: Add a convenience wake_up() function
|
2023-05-04 23:35:54 +02:00 |
|
|
3a1c22bb93
|
kernel: Add keyboard combinations for debug information dumps
Ctrl+Alt+E: Dump threads
Ctrl+Alt+M: Dump memory usage
Ctrl+Alt+H: Dump heap state
|
2023-05-04 23:32:48 +02:00 |
|
|
3ed9e578c7
|
kernel/x86_64: Wake the IO thread up only when there is an IO event, instead of polling every 10 ms
|
2023-05-04 23:07:09 +02:00 |
|
|
96f3d29d37
|
kernel: Tell the reap thread to run when it's needed, instead of checking every 200 ms
|
2023-05-04 23:06:00 +02:00 |
|
|
42eb0a1d74
|
kernel: Freeze waitpid()'s calling thread until a child tells us it's done, instead of polling it every 10 ms
|
2023-05-04 23:03:31 +02:00 |
|
|
4616997f5b
|
kernel: Store a thread's parent directly instead of its parent's PID
|
2023-05-04 22:58:04 +02:00 |
|
|
58eb2d7703
|
libc: Print failed assertions to stderr instead of stdout
continuous-integration/drone/push Build is passing
This removes two FIXMEs from the time there was no stderr.
|
2023-05-04 16:37:13 +02:00 |
|
|
44e4ca804a
|
kernel: Make sure argument vectors passed to execve() are not too big
|
2023-05-04 16:36:24 +02:00 |
|
|
3eb78aa5f3
|
libos+init: Add a new Path class to handle both file descriptors and file paths
continuous-integration/drone/push Build is passing
|
2023-05-03 17:37:26 +02:00 |
|
|
abaf24d0da
|
kernel/CPU: Move some stuff to StringView
|
2023-05-03 17:35:46 +02:00 |
|
|
1215c38d75
|
libc: Add mkdtemp() and mkstemp()
continuous-integration/drone/push Build is passing
No mktemp() though, as it has race conditions and was removed in POSIX.1-2008.
|
2023-05-03 16:43:30 +02:00 |
|
|
a0b45a51de
|
libc: Add rand() + srand()
continuous-integration/drone/push Build is passing
Very basic random number generator, but that's what rand() is.
If you want secure numbers then use arc4random() or something idk
|
2023-05-02 21:20:24 +02:00 |
|
|
d9b7e8edc0
|
init: Read and launch service files in order using sort()
continuous-integration/drone/push Build is passing
|
2023-05-02 20:56:28 +02:00 |
|
|
3628464284
|
libc: Fix some naming inconsistencies
|
2023-05-02 20:56:28 +02:00 |
|
|
d1801d484c
|
libc: Add qsort()
|
2023-05-02 20:56:27 +02:00 |
|
|
dcd93cce3a
|
libluna: Add a sort() function
|
2023-05-02 20:56:27 +02:00 |
|
|
6beea7f817
|
ls: Avoid printing an empty line when a directory is empty
continuous-integration/drone/push Build is passing
|
2023-05-02 11:00:28 +02:00 |
|
|
0fad179485
|
apps+libc+libos: Remove _LUNA_SYSTEM_ERROR_EXTENSIONS and reorder headers
continuous-integration/drone/push Build is passing
libluna/libos headers can now go after errno.h, so there's no reason to keep them separate.
|
2023-05-02 10:51:53 +02:00 |
|
|
052ae4902e
|
libluna: Remove EFIXME and make others declare error_string() and error_name()
Closes #26.
|
2023-05-02 10:51:53 +02:00 |
|
|
7058ec945a
|
libluna: Use a String for name and handle prefix correctly in TarStream
|
2023-05-02 10:51:53 +02:00 |
|
|
6982a8c07e
|
libluna: Make String::from_string_view handle non-null-terminated strings properly
|
2023-05-02 10:51:52 +02:00 |
|
|
1444cbb3df
|
libluna: Allow constructing a StringView from a string that might not be null-terminated
|
2023-05-02 10:51:52 +02:00 |
|
|
1d6a39c924
|
libluna: Make String::split() inline
continuous-integration/drone/push Build is passing
|
2023-05-01 20:05:10 +02:00 |
|
|
376247ba8a
|
libluna: Add String::from_string_view()
continuous-integration/drone/push Build is passing
|
2023-05-01 20:03:16 +02:00 |
|
|
53ec448e33
|
ls: Add the -l flag
|
2023-05-01 20:01:05 +02:00 |
|
|
2572d5b238
|
libc: Add wrapper for the fstatat() system call
|
2023-05-01 20:00:43 +02:00 |
|
|
458e0a87cc
|
libc: Fix S_IS* macros
|
2023-05-01 20:00:10 +02:00 |
|
|
48df90e636
|
libos+apps: Use os::*print* instead of (f)printf
continuous-integration/drone/push Build is passing
|
2023-05-01 19:32:00 +02:00 |
|
|
a2303665fc
|
libos: Add os:: print(), println(), eprint(), and eprintln()
|
2023-05-01 19:31:15 +02:00 |
|
|
df590f4e26
|
libluna: Add String::join()
|
2023-05-01 19:29:17 +02:00 |
|
|
7fbc644753
|
libc: Add clearenv
continuous-integration/drone/push Build is passing
|
2023-05-01 19:06:31 +02:00 |
|
|
967758d464
|
libc: Implement setenv() and unsetenv()
continuous-integration/drone/push Build is passing
|
2023-04-30 14:46:34 +02:00 |
|
|
ac4bbd135b
|
libos: Add Directory::list()
continuous-integration/drone/push Build is passing
|
2023-04-28 22:41:44 +02:00 |
|
|
6c5d6aaf00
|
libos: Make remove_tree_at use os::Directory
continuous-integration/drone/push Build is passing
|
2023-04-28 21:16:44 +02:00 |
|
|
3e277b5d6f
|
libos: Introduce os::Directory
|
2023-04-28 21:16:43 +02:00 |
|
|
8adfb6fdb9
|
libluna: Leave String in a valid state when moved
|
2023-04-28 21:16:43 +02:00 |
|
|
ae7c841fff
|
tests: Make building tests optional, although with no option to toggle them on for now
continuous-integration/drone/push Build is passing
|
2023-04-28 20:02:49 +02:00 |
|
|
b34f2149ee
|
tests: Test libluna's UTF-8 suite
|
2023-04-28 20:01:45 +02:00 |
|
|
c5a867d81c
|
libluna: Add wcscmp
|
2023-04-28 20:00:26 +02:00 |
|
|
15dcd6ad15
|
libluna: Check the whole string in Utf8StringDecoder::code_points()
|
2023-04-28 20:00:14 +02:00 |
|
|
b4a5aff071
|
libluna: Fix UTF-8 encoding
|
2023-04-28 19:59:40 +02:00 |
|
|
80914f0bb9
|
ArgumentParser: Add support for version information
continuous-integration/drone/push Build is passing
|
2023-04-28 16:33:05 +02:00 |
|
|
0c1d33f2ec
|
kernel: Move some files into subdirectories
continuous-integration/drone/push Build is passing
|
2023-04-28 15:55:06 +02:00 |
|
|
52ce4b28aa
|
Scheduler: Remove redundant check in for_each_child
continuous-integration/drone/push Build is passing
|
2023-04-28 15:22:16 +02:00 |
|
|
7b4cfd52cd
|
Scheduler: Don't search threads spawned before the current thread to find children
continuous-integration/drone/push Build is passing
Children will always be spawned later (and thus have a higher PID) than their parent.
|
2023-04-28 15:19:01 +02:00 |
|