dc766e1da7
kernel: Rework VFS access checking + add processes
...
Build and test / build (push) Has been cancelled
VFS functions now accept a single Process* pointer instead of credentials and groups.
There is now a distinction between processes and threads
Now to fix all the bugs... waitpid crashes the process with an NX error...
2024-12-06 21:35:59 +01:00
6fc49a0be5
init: Let's not forget to unhook our notifiers
Build and test / build (push) Successful in 1m42s
2024-12-04 22:54:01 +01:00
7761a8a41f
kernel+launch: Always send SIGCHLD when a child exits
...
Build and test / build (push) Successful in 1m44s
POSIX says so. I thought it was only when the parent wasn't actively waiting, to signal it, but it turns out it's always sent.
2024-12-04 22:44:16 +01:00
0ca6c5f814
taskbar: Remove sigchld handler
...
We are not launching child processes from taskbar anymore, that job is left to /bin/launch.
2024-12-04 22:42:59 +01:00
3032415bc0
kernel: Move "push_mem_on_stack" and "pop_mem_from_stack" to MemoryManager
Build and test / build (push) Successful in 1m52s
2024-11-23 20:03:04 +01:00
7b2977a036
kernel: Use a mutex to allocate new posix timers for a thread
2024-11-23 20:02:34 +01:00
9e65131452
editor: Avoid showing an error dialog when pressing Ctrl+S
Build and test / build (push) Successful in 1m52s
2024-10-26 14:00:57 +02:00
d908ccea6b
wind: Move some stuff from String to RefString
2024-10-26 14:00:26 +02:00
e3613d1653
loginui+2048: Replace String with RefString
2024-10-26 13:43:20 +02:00
53f8a583dc
libluna+libos+libui: Move Action to libluna and make it usable in the kernel
...
Build and test / build (push) Failing after 1m21s
This commit adds an error-propagating constructor for Action and Function, which makes them usable in the kernel.
2024-10-19 21:25:17 +02:00
c21fc2a297
ports: Add cbench port
Build and test / build (push) Failing after 1m37s
2024-09-23 19:51:42 +02:00
fd26f40938
editor: Add "Save file as..." and error dialogs
Build and test / build (push) Failing after 1m32s
2024-09-19 18:27:16 +02:00
fd2fe16538
libui: Add Dialog
2024-09-19 18:26:58 +02:00
38fcd8e3e1
libos: Stop timers in the destructor if needed
...
Fixes some bug in InputField causing a crash.
2024-09-19 18:26:42 +02:00
05bf792dbd
libui: Make InputField final
Build and test / build (push) Failing after 1m31s
2024-09-18 21:48:15 +02:00
b95cfac3ec
libui: Fix crashes when closing non-main windows
...
Build and test / build (push) Has been cancelled
This fix moves the actual closing of the window to after all the events are processed.
2024-09-18 21:47:31 +02:00
17a31e5ea9
libos: Add more constructor variants for Action/Function
2024-09-18 21:44:46 +02:00
1f0286c9c7
base: Add taskbar entry for the editor
Build and test / build (push) Successful in 1m51s
2024-09-14 15:40:27 +02:00
ffd1c73b0f
base: Start a welcome message instead of a terminal on login
Build and test / build (push) Successful in 1m44s
2024-09-14 15:31:42 +02:00
12ab71ee40
libos: Support comments in config files
Build and test / build (push) Successful in 1m45s
2024-09-14 15:12:36 +02:00
4cf39c14a1
base+gui: Move autologin configuration to /etc/loginui.conf
Build and test / build (push) Successful in 1m45s
2024-09-14 15:05:05 +02:00
bbe1eca711
utils: Add a hackish "logout" command
Build and test / build (push) Successful in 1m45s
2024-09-07 17:40:39 +02:00
e7d361ca51
startui: Remove /tmp/launch.sock as root
...
Build and test / build (push) Successful in 1m51s
Fixes #47 .
This avoids permission errors.
2024-09-07 17:33:38 +02:00
bb6759986e
libos/LocalServer: Clean up socket file on exit
...
This doesn't work if the process is killed by an unhandled signal.
2024-09-07 17:33:01 +02:00
4cc8a44ec7
all: Update release to 0.7.0 "Pulsar"
Build and test / build (push) Successful in 1m57s
2024-09-07 17:17:08 +02:00
0a9578c1ec
libui/Font: Use RefString
Build and test / build (push) Successful in 1m54s
2024-09-07 16:52:48 +02:00
1fc2da4fb0
taskbar: Use os::ConfigFile instead of manually parsing app files
2024-09-07 16:52:31 +02:00
9c4f20790f
CI: Undo artifact stuff
...
Build and test / build (push) Successful in 1m55s
Doesn't seem to be really supported on Gitea for now.
2024-09-07 16:35:59 +02:00
0a143e8729
CI: Use different artifact provider
Build and test / build (push) Failing after 1m52s
2024-09-01 14:17:22 +02:00
d4237d10a0
CI: Fix actions syntax
Build and test / build (push) Failing after 2m6s
2024-09-01 14:12:45 +02:00
b24aa1821c
CI: Upload built ISOs
Build and test / build (push) Failing after 0s
2024-09-01 14:11:54 +02:00
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
a11aa7a2d0
libluna: Add a reference-counted immutable string type
2024-09-01 12:40:20 +02:00
0abd9153ae
tools+libluna: Make new and delete weak to avoid conflicts with libstdc++
...
Wasn't causing problems earlier, but when trying to rebuild the toolchain, it failed because of this.
2024-09-01 12:39:55 +02:00
abbfd5825f
kernel: Make StorageCache have a reference to its parent BlockDevice
...
Build and test / build (push) Successful in 2m10s
This will make it easier to implement sync later on.
2024-08-09 18:52:56 +02:00
bfb45c7d4a
gui: Add a login UI and support the os::IPC::Notifier API
Build and test / build (push) Successful in 3m2s
2024-07-31 19:50:20 +02:00
d3fbddb191
taskbar: Use SIGQUIT to restart
...
Whenever a GUI session ends, SIGHUP is sent to all GUI processes. Previously, taskbar would catch this signal and wrongly restart.
Now, taskbar correctly dies alongside everyone else.
2024-07-31 19:46:02 +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
2aefbdc4ee
libos: Fix Action
2024-07-31 19:32:47 +02:00
15dc71e8e1
libui/InputField: Fix a few bugs and add a clear() method
2024-07-31 19:32:22 +02:00
140910763e
all: Reorder directory structure
...
Build and test / build (push) Successful in 1m56s
Why are command-line utilities stored in "apps"?
And why are apps like "editor" or "terminal" top-level directories?
Command-line utilities now go in "utils".
GUI stuff now goes in "gui".
This includes: libui -> gui/libui, wind -> gui/wind, GUI apps -> gui/apps, editor&terminal -> gui/apps...
System services go in "system".
2024-07-21 13:24:46 +02:00
829f455129
apps: Add arch
Build and test / build (push) Successful in 2m16s
2024-07-21 13:07:51 +02:00
d10cb10404
libluna/SHA: Reuse the m_message buffer to avoid duplicating the data to hash
...
Build and test / build (push) Successful in 2m14s
This change is almost insignificant in most cases, but it avoids using 4GB of memory to hash a 2GB file.
2024-07-21 12:52:12 +02:00
c97876bba0
kernel/ATA: Avoid assuming endianness
2024-07-21 12:51:06 +02:00
31c36b9b83
tests: Add tests for SHA256
Build and test / build (push) Successful in 2m22s
2024-07-20 16:34:31 +02:00
5fe0507ab1
libc+libluna: Add endianness-dependent functions and use them in SHA256
Build and test / build (push) Successful in 2m18s
2024-07-20 16:26:06 +02:00
e1c287a45b
libluna: Return a new Digest structure instead of a Buffer from SHA256
Build and test / build (push) Successful in 2m30s
2024-07-20 16:12:43 +02:00
db2f91b1fb
libluna+apps: Add a SHA256 hash implementation
Build and test / build (push) Successful in 2m26s
2024-07-20 15:50:59 +02:00
7345a952ca
libluna: Implement hash table iteration
Build and test / build (push) Successful in 1m47s
2024-07-02 20:51:28 +02:00
903dcfa52c
libc: Partially implement freopen() when a null pathname is provided
...
Build and test / build (push) Successful in 2m1s
The specification says "It is implementation-defined which changes of mode are permitted (if any)", so we can comply by not permitting any mode changes, at least for now.
2024-07-02 12:44:43 +02:00