b8ae61b7c7
libluna: Document Bitmap
continuous-integration/drone/push Build is failing
2023-08-23 13:50:45 +02:00
1449e966ab
libluna: Document Base64.h
2023-08-23 13:34:14 +02:00
24f9dd22ec
libluna: Document Attributes.h and Badge.h
2023-08-23 13:24:28 +02:00
b8e70996c3
libluna: Document Atomic.h
2023-08-23 13:04:47 +02:00
6058a69182
libluna: Document Alloc.h
2023-08-23 11:08:18 +02:00
e247310ded
libluna: Document Alignment.h
2023-08-23 11:04:05 +02:00
a35ca0b367
libluna+kernel: Add Bitset and use it for signals
continuous-integration/drone/push Build is passing
2023-08-23 10:51:02 +02:00
70a232cfcd
libluna: Make Vector grow exponentially
2023-08-22 11:53:42 +02:00
95a33c484e
kernel+libc: Add a memstat() syscall
...
We can finally show memory usage in userspace.
This could have been done using sysfs, but I'm lazy and don't want to implement that. Maybe in the next release?
2023-08-17 20:15:32 +02:00
4a654bf093
kernel: Handle OOMs better and without deadlocking
...
Use a separate task to do it.
Also fix a bug where the init thread would get no kernel stack ever since 5f698b477
.
2023-08-17 20:14:33 +02:00
d43590e68c
kernel: Improve Your Disk IO performance by 500% with this One Trick!
...
continuous-integration/drone/push Build is failing
The trick being caching lol.
2023-08-16 14:54:13 +02:00
e8e05159c1
libluna+kernel: Make CRC32 a class
2023-08-15 19:27:09 +02:00
e2a77bb3da
kernel+libc: Add pledge support
continuous-integration/drone/push Build is failing
2023-08-12 21:38:25 +02:00
fb3c31907d
fix
2023-08-11 18:09:28 +02:00
5ea73197ad
libluna: Add a bunch more errno definitions
2023-08-11 17:59:41 +02:00
a92077d311
kernel+libc: Add all variants of utime
continuous-integration/drone/push Build is passing
2023-08-08 14:14:35 +02:00
159c05c064
libluna: Add max() and min()
continuous-integration/drone/push Build is passing
2023-08-08 12:39:03 +02:00
b63a8ff245
libluna: Move get_blocks_from_size to a new header and call it ceil_div instead
continuous-integration/drone/push Build is passing
2023-08-08 11:58:33 +02:00
d41fb85466
libluna/SharedPtr: Count references with separately created objects properly
2023-08-03 10:32:22 +02:00
c5e24e478f
kernel+libc: Add truncate and ftruncate
continuous-integration/drone/push Build is passing
2023-08-03 08:47:37 +02:00
84c1ac4cee
kernel: Add msync
continuous-integration/drone/push Build is passing
2023-08-02 22:39:07 +02:00
9443551d71
kernel: Add shared memory
2023-08-02 22:20:05 +02:00
207d901de8
kernel+libc: Add the poll() syscall
continuous-integration/drone/push Build is passing
2023-08-02 14:48:20 +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
6c26236167
libluna: Add CircularQueue::is_empty()
2023-08-02 11:55:08 +02:00
8d3b3aaf05
libluna: Add a few more network-related errno codes
2023-07-30 11:33:06 +02:00
bb3127c212
kernel: Implement listen(), connect() and accept()
2023-07-30 11:33:06 +02:00
cca806f088
libluna: Add a variant of CircularQueue that dynamically allocates its buffer at runtime
...
This is needed to implement the backlog queue for listening sockets.
2023-07-30 11:33:06 +02:00
a12b018b03
kernel+libc: Add basic Unix sockets (creation and binding)
2023-07-30 11:33:06 +02:00
c1d08b904e
kernel+libluna: Add Buffer::dequeue_data()
2023-07-30 11:33:05 +02:00
6b0bc66fd2
libluna: Add new socket-related errno codes
2023-07-30 11:33:05 +02:00
4ed7ec5e93
libluna: Store SharedPtr's ref count in the object itself
continuous-integration/drone/push Build is passing
2023-07-30 11:32:46 +02:00
58fa297068
libluna: Wrap around when iterating through a HashTable's buckets array
...
continuous-integration/drone/push Build is passing
Why am I so dumb?
2023-07-25 18:19:45 +02:00
9ef09cfc88
libc+libluna: Add case-insensitive string comparison functions
2023-07-22 11:58:28 +02:00
16b385fc7b
libluna: Some fixes so that HashTable collisions work properly
2023-07-21 21:04:25 +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
5f698b4774
kernel: Don't create a new kernel stack on exec()
...
continuous-integration/drone/push Build is passing
The old one was not getting freed, creating a memory leak every exec(),
which can get huge over time.
Plus, there was no need for a new stack.
And we couldn't just free the old one, since sys_execve() runs on the old stack...
2023-07-12 16:06:56 +02:00
b64093dee5
kernel+libc: Implement getpgid()
2023-07-12 13:44:25 +02:00
69f9701097
kernel+libc: Implement isatty()
continuous-integration/drone/push Build is failing
2023-07-11 12:05:09 +02:00
7328cfe734
kernel: Add basic process groups
continuous-integration/drone/push Build is passing
2023-07-11 11:51:07 +02:00
8066e8f1d8
kernel+libc: Implement sigprocmask() and friends
continuous-integration/drone/pr Build is failing
2023-07-10 21:01:59 +02:00
15d6aae701
kernel+libc: Implement basic signals
2023-07-10 19:46:57 +02:00
15199a2366
libluna+libc: Implement memchr() and strstr()
continuous-integration/drone/push Build is passing
2023-07-10 15:30:05 +02:00
ae0cd155c3
kernel: Fix AddressSpace's move assignment operator
continuous-integration/drone/push Build is passing
2023-07-09 20:43:03 +02:00
498e20561f
libluna: Add release_data() overloads to Buffer and Vector
...
This can be used to transfer the underlying data to a String object without copying.
2023-07-02 19:29:04 +02:00
6db0a2649c
libluna: Add a variant of PathParser::join() for relative paths
2023-07-02 16:38:12 +02:00
a62265b504
kernel/ext2: Implement directory traversal
2023-06-25 20:35:37 +02:00
77686b26f8
kernel/Ext2: Read the root inode metadata from the disk
2023-06-25 20:35:36 +02:00
a9460469d9
kernel+libc+apps: Add a source parameter to the mount() system call
2023-06-25 20:35:35 +02:00
8542cf7cbf
libluna: Fix Vector::shallow_copy()
2023-06-19 12:23:39 +02:00