Bananymous
7fb27b16e8
LibC: Fix pthread cancellation
...
Install SIGCANCEL handler for all threads.
Remove unneeded atomic stores and loads. States are only changed within
the thread itself.
Define pthread_testcancel as a macro so it gets inlined inside
cancellation points
2026-04-07 03:41:25 +03:00
Bananymous
3fb903d991
LibGUI: Optimize invalidate and set alpha channel
...
If the window does not have an alpha channel, we now set every pixel's
alpha to 0xFF. This is needed by the WindowServer when it does alpha
blending, there used to be some weird stuff happening on overlapping
windows.
Also when we are invalidating a region with width of the whole window,
we can do a single memcpy instead of a memcpy for each row separately.
2026-04-06 19:29:34 +03:00
Bananymous
4d3751028b
LibInput: Honor chroot and credentials when loading keymap
2026-04-06 19:29:34 +03:00
Bananymous
34b59f062b
LibC: Implement blocking pthread_rwlock
...
pthread_rwlock now uses a mutex and condition variable internally so it
doesn't need to yield while waiting!
2026-04-06 19:29:34 +03:00
Bananymous
ec4aa8d0b6
LibC: Fix shared pthread_barrier init
...
Initialize internal lock and cond as shared when the barrier is shared
2026-04-05 12:06:18 +03:00
Bananymous
1eebe85071
LibC: Fix pthread_cond_timedwait
...
If timeout occurred, I was not removing the entry from block list
2026-04-05 11:31:16 +03:00
Bananymous
db0507e670
LibC: Mark pthread_exit noreturn
2026-04-05 11:30:45 +03:00
Bananymous
85f676c30a
DynamicLoader: Calulate max loaded file count based on dtv size
...
dtv should be dynamic but i dont care right now :)
2026-04-04 23:48:43 +03:00
Bananymous
c7690053ae
LibC: Don't crash on 32 bit pthread_create
2026-04-04 23:48:43 +03:00
Bananymous
bf1d9662d7
LibAudio: Use floats instead of doubles for samples
2026-04-03 16:15:02 +03:00
Bananymous
32806a5af3
LibC: Allow "t" in stdio mode
2026-04-02 15:44:50 +03:00
Bananymous
876fbe3d7c
LibC: Fix sem_{,timed}wait
2026-04-02 15:43:34 +03:00
Bananymous
c1b8f5e475
LibC: Add and cleanup network definitions
2026-04-02 15:42:00 +03:00
Bananymous
cf31ea9cbe
LibC: Add _SC_PHYS_PAGES and _SC_AVPHYS_PAGES
2026-04-02 15:41:26 +03:00
Bananymous
7e6b8c93b4
LibC: Implement strsep
2026-04-02 15:40:23 +03:00
Bananymous
dd2bbe4588
LibC: Implement sched_getcpu
2026-04-02 15:39:36 +03:00
Bananymous
e01e35713b
LibC: Allow including assert.h multiple times
...
Some shit seems to depend on this
2026-04-02 15:38:06 +03:00
Bananymous
82d5d9ba58
LibC: Write memchr, memcmp and strlen with sse
2026-04-02 15:35:03 +03:00
Bananymous
bf4831f468
AudioServer: Add support for volume control
2026-04-02 15:21:38 +03:00
Bananymous
5647cf24d2
Kernel: Implement volume control to audio drivers
2026-04-02 15:14:27 +03:00
Bananymous
d9ca25b796
LibC: Add FNM_CASEFOLD and FNM_IGNORECASE
...
These are part of POSIX issue 8
2026-03-25 04:27:00 +02:00
Bananymous
e9c81477d7
BAN/LibC: Implement remainder
...
This is basically just fmod but with fprem1 instead of fprem
2026-03-25 01:06:45 +02:00
Bananymous
14f1c1a358
LibC: Implement vsyslog
2026-03-23 19:13:38 +02:00
Bananymous
6a77754adf
LibC: Don't link against libstdc++
...
This prevented building the toolchain
2026-03-23 18:22:42 +02:00
Bananymous
7d7d5ba734
LibC: Compile eventfd file
2026-03-23 18:22:04 +02:00
Bananymous
43e18148a6
LibC: Define SSP things
2026-03-17 20:30:25 +02:00
Bananymous
b0db645248
LibC: Add basic elf.h
2026-03-17 20:25:38 +02:00
Bananymous
c1a424a635
Kernel: Implement linux's eventfd
2026-03-17 20:24:06 +02:00
Bananymous
1f22b9b982
DynamicLinker: Implement RTLD_NOLOAD
2026-03-17 20:04:48 +02:00
Bananymous
1d07d8e08e
LibC/DynamicLoader: Add support for dynamically loaded TLS
...
Previously I failed to dlopen if any of the objects contained TLS
section
2026-03-17 20:01:51 +02:00
Bananymous
05b2424fca
LibC: Implement more proper random number generator
2026-03-17 19:53:43 +02:00
Bananymous
07201c711e
LibC: set endp in string to float conversion error
2026-03-17 19:50:12 +02:00
Bananymous
8fac88c9a6
LibC: Add sincos{,f,l}
2026-03-17 19:42:53 +02:00
Bananymous
e1c337a483
LibC: Fix compile and link flags
...
We were linking with -nostdlib and manually linked against libgcc. This
does not link with crtbegin and crtend which provides __dso_handle
preventing use of some global C++ constructors inside libc.
Now we just don't link against libc fixing this issue
2026-03-05 16:25:06 +02:00
Bananymous
a318a19fe2
LibGUI/WindowServer: Add fullscreen events
...
When window's fullscreen state changes we now generate events!
2026-02-23 16:06:48 +02:00
Bananymous
f4a7aec167
LibGUI/WindowServer: Add support for custom cursor origin
2026-02-23 16:06:48 +02:00
Bananymous
304ace1172
LibInput: Export keyboard layout keymaps
2026-02-23 16:06:48 +02:00
Bananymous
2255e36810
LibDEFLATE: Add GZip support
...
This allows compressing and decompressing with data using GZip headers
and footers
2026-02-21 04:03:11 +02:00
Bananymous
5abddd448e
LibC: Fix typo/bug in fnmatch
...
* would stop matching at '0' instead of end of string
2026-02-19 22:12:59 +02:00
Bananymous
b3bbfaeff0
LibC: Fix posix_spawnattr_t definition
2026-02-10 01:22:25 +02:00
Bananymous
679a3d4209
LibGUI: Add Texture::clear{,_rect}
2026-02-08 19:45:01 +02:00
Bananymous
2e59373a1e
Kernel: Fix non blocking sockets blocking :D
2026-02-08 19:33:28 +02:00
Bananymous
9809f87010
LibC: Fix {read,write}v return value for partial actions
2026-02-08 18:45:29 +02:00
Bananymous
c304133224
LibC: Indicate regex support in unistd.h
2026-01-25 01:47:30 +02:00
Bananymous
7843d3de62
LibC: Support attrs and file actions in posix spawn
...
Apparently GCC wants to use posix_spawn now that it is available, this
patch adds support for the missing fields. POSIX Issue 8 did add some
fields that are not supported here
2026-01-25 01:45:47 +02:00
Bananymous
0299d4d44e
Kernel/LibC: remove SYS_TERMID
...
This syscall is not needed. /dev/tty is already a symlink to the
controlling terminal. Also this syscall did not handle pseudo terminals
2026-01-16 15:57:36 +02:00
Bananymous
c30fc9d60f
LibGUI: Rewrite using epoll
...
select is slow :^)
2026-01-12 23:53:11 +02:00
Bananymous
9ffbb9fbf0
LibC: Fix clock_gettime return value
2026-01-11 22:44:03 +02:00
Bananymous
2961a49dc7
Kernel: Optimize futexes
...
Add support for processor local futexes. These work the exact same way
as global ones, but only lock a process specific lock and use a process
specific hash map.
Also reduce the time futex lock is held. There was no need to hold the
global lock while validating addresses in the process' address space.
2026-01-09 22:27:59 +02:00
Bananymous
5c9151d3e9
LibC: Add stubs for {init,set}state
...
Some port wanted these as it detected we had {,s}random
2026-01-09 22:08:32 +02:00