7c0ff8c75a
libos+init: Add a standard API for config file access
Build and test / build (push) Successful in 1m50s
2024-09-01 12:40:37 +02:00
0ab8efd405
libos+init: Add a Notifier API to know when child processes have finished initialization
...
init now supports the "WaitUntilReady" key, which will wait until the child calls os::IPC::notify_parent().
2024-07-31 19:43:09 +02:00
e0ed4be0db
libos: Change the year in the default ArgumentParser copyright message
...
Build and test / build (push) Failing after 12m48s
Almost four months into 2024, I finally remembered that I had to change this.
2024-04-20 17:24:26 +02:00
7d69ac56e2
apps+libos+shell+wind: Correct a bunch of format strings
Build and test / build (push) Successful in 1m41s
2024-03-29 14:42:38 +01:00
f9b39c5ff3
libos: Add ways to format output to a File
2024-03-29 14:41:45 +01:00
909d0ed289
libos+wind+apps: Make IPC code object-oriented and add functionality for properly receiving messages
...
This functionality previously had to be repeated across all server programs using the IPC API.
2024-02-03 19:16:39 +01:00
1cd355a8e8
libos: Add Function<Args...> and use that to make EventLoop callbacks more versatile
2024-01-18 20:52:36 +01:00
d4d748e153
terminal: Remove m_cursor_timer->restart() from tick_cursor()
...
Since the timer was created as a repeating timer, it is already restarted after the function.
2024-01-13 16:26:37 +01:00
6bf8225f63
libos: Add Timer::reset, restart and stop
2024-01-08 19:01:59 +01:00
1223c6c20b
libos: Add FIXME to EventLoop
2024-01-08 19:01:39 +01:00
a9c339939a
libos: Move timer handling to a separate class and use POSIX timers
2024-01-05 22:16:50 +01:00
73a7d4f2a1
wind+libui: Run wind as a separate user
continuous-integration/drone/push Build is passing
2023-11-22 21:31:08 +01:00
8a57d8a9b7
libos: Use setitimer() for millisecond precision
2023-11-16 21:58:45 +01:00
4d5feb0f3b
libos: Add File::seek() and File::tell()
continuous-integration/drone/push Build is passing
2023-10-24 20:02:09 +02:00
0824ba7e23
libos: Add timers to event loops
...
Only second precision for now, as alarm() is used to control the timers. Hopefully setitimer() or timer_create() can be added to the kernel soon to benefit from more precision.
2023-10-09 22:00:15 +02:00
945cfab3eb
libos: Add signal handling to event loops
continuous-integration/drone/push Build is passing
2023-10-07 14:26:35 +02:00
5892a6bf09
libos+libui: Add event loops
continuous-integration/drone/push Build is passing
2023-10-06 22:06:34 +02:00
5db1c3722c
libui+wind+libos: Move shared memory handling code to os::SharedMemory
2023-09-20 07:05:57 +02:00
7e7f0a96f5
wind+libos+libui: Handle interrupted reads properly
2023-09-20 07:05:55 +02:00
9125561cab
libos: Add basic IPC message framework
2023-09-20 07:05:53 +02:00
02b9dc579b
libos: Add copyright/author comments to LocalServer and LocalClient
2023-09-20 07:05:52 +02:00
1c50d5133f
libos: Remove some shared pointers and change them to owned/live on the stack
2023-09-20 07:05:52 +02:00
03096680ae
libos: Add os::LocalClient
2023-09-20 07:05:51 +02:00
b6fe96e364
libos: Add a new LocalServer class for local domain sockets
2023-09-20 07:05:49 +02:00
cb0d5cb6a1
rm: Add the -v flag
continuous-integration/drone/push Build is passing
2023-09-02 14:46:14 +02:00
06aa7725a1
libos: Stop using syscalls directly and proxy to libc
2023-09-02 14:27:04 +02:00
2abb43d709
kernel+libos: Call Vector::try_reserve where it is appropriate
continuous-integration/drone/push Build is failing
2023-08-22 11:54:00 +02:00
9954fc1658
libos: Add a pledge wrapper
2023-08-14 10:45:00 +02:00
2e63b93e48
libos: Remove debug statements from Process::spawn()
continuous-integration/drone/push Build is passing
2023-08-07 22:53:37 +02:00
77ebdda2e0
libos: Add Process::spawn()
continuous-integration/drone/push Build is passing
2023-08-07 22:49:12 +02:00
df77fc8de8
libluna: Remove make_array() and destroy_array()
...
Placement new on arrays is a bit unreliable and could cause out-of-bounds data accesses.
2023-08-02 14:47:58 +02:00
aac8280e8a
libc+libos: Properly propagate errors through fgetc() and File::getchar()
...
This restores proper ^C behavior in the shell.
2023-08-02 14:46:47 +02:00
b17793134e
libos: Let users change the buffering mode of a File
2023-08-02 11:54:47 +02:00
200bb6c240
kernel+libc+libos: Add inode type for sockets
2023-07-30 11:33:05 +02:00
eeb9e16a74
libos: Make os::File a wrapper around stdio's FILE
...
continuous-integration/drone/push Build is passing
This way, os::File benefits from the same buffering as stdio.h does.
2023-07-22 12:40:02 +02:00
5458286309
libos: Add Process::exit()
continuous-integration/drone/push Build is passing
2023-07-21 21:21:08 +02:00
4439ef8ec6
sh: Add a system to easily add flexible shell builtins
continuous-integration/drone/push Build is passing
2023-07-21 20:44:01 +02:00
82411789e8
libos+apps: Add kill
continuous-integration/drone/push Build is passing
2023-07-10 22:17:05 +02:00
5c9503ac71
libos+cp: Add prompt functionality
continuous-integration/drone/push Build is passing
2023-07-08 18:30:39 +02:00
6d9ba8deb4
libos+apps: Make the vector argument more flexible
continuous-integration/drone/push Build is passing
2023-07-08 16:44:02 +02:00
bd757d204e
kernel+libos+libluna: Avoid copying and reallocation when creating Strings
...
continuous-integration/drone/push Build is passing
This is done by reusing the existing buffers in Vector and Buffer instances.
2023-07-02 19:30:25 +02:00
f052d8630d
libos: Use Vector::shallow_copy() in ArgumentParser
continuous-integration/drone/push Build is passing
2023-06-19 12:23:56 +02:00
2f08e0f5b0
libos: Make long value arguments use '=' and make value arguments' values always required
continuous-integration/drone/push Build is passing
2023-06-17 20:58:54 +02:00
e4e501ecfe
libos: Add Process::wait()
continuous-integration/drone/push Build is passing
2023-06-09 23:12:31 +02:00
bc07cc94cb
libos: Document it entirely using Doxygen comments =D
...
continuous-integration/drone/push Build is passing
Also, add copyright information to individual files. This is going to be a hassle to do for EVERY file.
2023-06-09 22:45:06 +02:00
85896214ba
libos: Make File::read_all() read chunked blocks instead of one character at a time
...
continuous-integration/drone/push Build is passing
This results in a speedup of 0.23s -> 0.13s for Base64 encoding of /bin/ls.
2023-06-04 00:23:06 +02:00
89d7866abb
libos: Show the sticky bit on symbolic modes
2023-06-03 11:35:13 +02:00
e864ef2d36
libos: Add a way to also list entry sizes, modes and mtimes
2023-05-28 21:51:50 +02:00
62e14e7580
kernel+libos+apps: Support block devices and disallow seeking character devices or pipes
continuous-integration/drone/push Build is failing
2023-05-26 20:27:47 +02:00
38fae0c97b
ls: Show file modes visually
continuous-integration/drone/push Build is passing
2023-05-26 18:22:50 +02:00