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
75d0d12b71
apps: Add a background launcher service
...
This service is used only by taskbar, for now, to launch apps with regular privileges instead of inheriting the special group 'wsys'.
2024-02-01 21:58:44 +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
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()
2023-10-24 20:02:09 +02:00
e18ca9bfe0
libos: Document Action.h
2023-10-10 22:11:12 +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
0b2a835336
libui+libos: Move Action to libos
2023-10-07 15:31:50 +02:00
945cfab3eb
libos: Add signal handling to event loops
2023-10-07 14:26:35 +02:00
5892a6bf09
libos+libui: Add event loops
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
2328987d81
libos+libui+wind: Use uppercase for static struct IDs to avoid confusion with fields
2023-09-20 07:05:54 +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
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
cbea66c533
libos+libluna: Fix misspellings of "succeeded"
2023-08-26 20:49:57 +02:00
2abb43d709
kernel+libos: Call Vector::try_reserve where it is appropriate
2023-08-22 11:54:00 +02:00
30ff704342
libluna+libos: Install built libraries into the system root
...
This is less important for libluna, as it is built into libc, but is needed to link programs compiled inside Luna with libos.
2023-08-21 14:06:32 +02:00
9954fc1658
libos: Add a pledge wrapper
2023-08-14 10:45:00 +02:00
2e63b93e48
libos: Remove debug statements from Process::spawn()
2023-08-07 22:53:37 +02:00
77ebdda2e0
libos: Add Process::spawn()
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
7983d63b8e
libos: Add documentation for os::File::BufferingMode
2023-08-02 13:15:51 +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
4ed7ec5e93
libluna: Store SharedPtr's ref count in the object itself
2023-07-30 11:32:46 +02:00
eeb9e16a74
libos: Make os::File a wrapper around stdio's FILE
...
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()
2023-07-21 21:21:08 +02:00
4439ef8ec6
sh: Add a system to easily add flexible shell builtins
2023-07-21 20:44:01 +02:00
82411789e8
libos+apps: Add kill
2023-07-10 22:17:05 +02:00
5c9503ac71
libos+cp: Add prompt functionality
2023-07-08 18:30:39 +02:00
6d9ba8deb4
libos+apps: Make the vector argument more flexible
2023-07-08 16:44:02 +02:00
bd757d204e
kernel+libos+libluna: Avoid copying and reallocation when creating Strings
...
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
2023-06-19 12:23:56 +02:00
2f08e0f5b0
libos: Make long value arguments use '=' and make value arguments' values always required
2023-06-17 20:58:54 +02:00
da1439126a
libos: Correct wrong manpage section for execve()
2023-06-09 23:35:23 +02:00
e4e501ecfe
libos: Add Process::wait()
2023-06-09 23:12:31 +02:00
bc07cc94cb
libos: Document it entirely using Doxygen comments =D
...
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
...
This results in a speedup of 0.23s -> 0.13s for Base64 encoding of /bin/ls.
2023-06-04 00:23:06 +02:00