Bananymous 
							
						 
						
							
								15e84f28ed 
								
							 
						 
						
							
							
								
								LibC: Include strings.h in string.h  
							
							
							
						 
						
							2025-06-19 19:01:45 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								87f348b48e 
								
							 
						 
						
							
							
								
								LibC: Fix my ugly and hacked posix_memalign  
							
							
							
						 
						
							2025-06-18 14:17:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ff289b25b6 
								
							 
						 
						
							
							
								
								LibC: Implement {,v}asprintf  
							
							... 
							
							
							
							These were added in POSIX issue 8 
							
						 
						
							2025-06-17 13:56:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a9f58e96d2 
								
							 
						 
						
							
							
								
								LibC: Add endian.h  
							
							... 
							
							
							
							This is part of POSIX issue 2024 and some software depends on it 
							
						 
						
							2025-06-17 13:15:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7651ca747d 
								
							 
						 
						
							
							
								
								LibC: Allow searching null char with wcschr  
							
							
							
						 
						
							2025-06-16 15:09:55 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7ff7a4aa87 
								
							 
						 
						
							
							
								
								LibC: Fix locale handling in wcrtomb and mbrtowc  
							
							
							
						 
						
							2025-06-16 15:09:39 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cdcd226b1a 
								
							 
						 
						
							
							
								
								LibC: Fix mbstowcs and add wcstombs  
							
							
							
						 
						
							2025-06-16 15:08:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f9451915b9 
								
							 
						 
						
							
							
								
								LibC: Use `pause` in pthread spinlock locking  
							
							
							
						 
						
							2025-06-16 15:07:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c97b60e7e5 
								
							 
						 
						
							
							
								
								LibGUI: Remove parameters I had forgot in function declarations  
							
							
							
						 
						
							2025-06-11 01:53:31 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8a73414e3e 
								
							 
						 
						
							
							
								
								LibGUI: Add support for clip area to texture  
							
							
							
						 
						
							2025-06-11 01:53:31 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5ad7d7edb1 
								
							 
						 
						
							
							
								
								DynamicLoader: Fix TLS on 32 bit platform  
							
							... 
							
							
							
							There were two problems with my previous implementation
- TLS was not allocated if nothing used it. There is a fallback
  initialization in _init_libc, but this was not enough if one of the
  init functions tried to access errno.
- __tls_get_addr was not resolved. If __tls_get_addr was called through
  a plt entry, everything would just break :( 
							
						 
						
							2025-06-06 16:27:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								00c6820825 
								
							 
						 
						
							
							
								
								LibC: Make {open,sys,close}log use their own FILE instead of stddbg  
							
							
							
						 
						
							2025-06-06 11:59:15 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6beaafcf11 
								
							 
						 
						
							
							
								
								LibC: Define std{in,out,err,dbg} with their actual names  
							
							
							
						 
						
							2025-06-06 11:56:39 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a7e20d6e85 
								
							 
						 
						
							
							
								
								LibC: Fix getnameinfo port endianness  
							
							
							
						 
						
							2025-06-06 06:52:56 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a912a4dc67 
								
							 
						 
						
							
							
								
								LibGUI: Remove fill_color from texture copy API  
							
							... 
							
							
							
							Nothing was using this and it just overcomplicated everything 
							
						 
						
							2025-06-05 02:40:51 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								84b1f3990c 
								
							 
						 
						
							
							
								
								LibC: Fix getnameinfo  
							
							... 
							
							
							
							How was i doing everything so wrong :D 
							
						 
						
							2025-06-03 16:36:39 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								755d41ca4e 
								
							 
						 
						
							
							
								
								LibC: Add pw_passwd and pw_gecos to passwd structure  
							
							... 
							
							
							
							This information is available in /etc/passwd either way so why not
expose it to the user. Practically all UNIX-likes have these either way 
							
						 
						
							2025-06-02 12:23:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5a6b43fc90 
								
							 
						 
						
							
							
								
								LibC: Remove debug printing from getnameinfo  
							
							
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								317f413746 
								
							 
						 
						
							
							
								
								LibC: Implement very hacky posix_memalign  
							
							... 
							
							
							
							I did not even test this and i know the code is super hacky. I could not
bother with writing proper code for this xD 
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								895909b7fa 
								
							 
						 
						
							
							
								
								LibC: Add CMSG_* definitions to sys/socket.h  
							
							
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2ee8b6c8b4 
								
							 
						 
						
							
							
								
								LibC: Add more definitions to netinet/in.h  
							
							... 
							
							
							
							These are non-standard but a lot of UNIX-likes have them networking
software attempts to use them 
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								022bb69782 
								
							 
						 
						
							
							
								
								LibC: Implement inet_aton  
							
							... 
							
							
							
							This is not POSIX but IMO it makes sense to have the counter part to
inet_ntoa 
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b7948551ff 
								
							 
						 
						
							
							
								
								userspace: Add empty libm and libpthread  
							
							... 
							
							
							
							These making porting stuff easier. I could not find a way to tell CMake
that the system does not have threads library 
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e9f8471a28 
								
							 
						 
						
							
							
								
								BAN: Return UTF::invalid from byte_length instead of 0  
							
							
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4656b11256 
								
							 
						 
						
							
							
								
								LibC: actually use ATEXIT_MAX for atexit limit  
							
							
							
						 
						
							2025-06-02 10:43:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2b48933f29 
								
							 
						 
						
							
							
								
								LibC: Implement all functions from complex.h  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4ac6cbe70e 
								
							 
						 
						
							
							
								
								LibC: Add some missing wchar.h functions  
							
							... 
							
							
							
							isw* functions are just wrappers to is*
tow* functions are just wrappers to to* 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cc07c3df94 
								
							 
						 
						
							
							
								
								LibC: Add basic strxfrm{,_l}  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								31bcad2535 
								
							 
						 
						
							
							
								
								LibC: Implement truncate  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b75970958e 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement unlinkat  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								91756c057e 
								
							 
						 
						
							
							
								
								LibC: Add all of the missing POSIX definitions in unistd.h and limits.h  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								df7f245cf8 
								
							 
						 
						
							
							
								
								LibC: Implement pthread_atfork  
							
							... 
							
							
							
							Again this code is not tested but *feels* right :D 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								dbdefa0f4a 
								
							 
						 
						
							
							
								
								LibC: Implement pthread cancelation  
							
							... 
							
							
							
							This code is not tested at all but it looks correct xD 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								56fdf6002c 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement pthread_kill  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c957f1ddca 
								
							 
						 
						
							
							
								
								LibC: Cleanup pthread code and add some pthread_attr functions  
							
							... 
							
							
							
							errno, pthread cleanup and pthread id are now stored in uthread. This
allows using these without TLS 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								423386a052 
								
							 
						 
						
							
							
								
								LibC: Add memory.h that just includes string.h  
							
							... 
							
							
							
							There are a lot of ports trying to include memory.h. This is not posix
but glibc just includes string.h. I think this is just to privide mem*
functionss...? 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b1065fa01d 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add ppoll syscall and fix poll  
							
							... 
							
							
							
							poll is now using its own syscall instead of wrapping aroung pselect.
This adds less overhead on top of poll and adds support for POLLHUP 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1bd454b8fd 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement utime* family functions  
							
							... 
							
							
							
							This patch adds *working*
 - utime
 - utimes
 - utimensat
 - futimens 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								69c4940b27 
								
							 
						 
						
							
							
								
								LibC: Fix `signal` return value  
							
							... 
							
							
							
							signal was returning `func` when it should've returned the old handler 
							
						 
						
							2025-05-29 00:58:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7691b019e2 
								
							 
						 
						
							
							
								
								LibC: Fix printf %c modifier for null byte  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f55d6b11c5 
								
							 
						 
						
							
							
								
								LibC: Implement `mblen`  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f52877abb4 
								
							 
						 
						
							
							
								
								LibC: Implement `readv` and `writev`  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ee7c9b6731 
								
							 
						 
						
							
							
								
								LibC: Add simple `getnameinfo`  
							
							... 
							
							
							
							This doesn't actually do any name resolution but just formats input to
string. 
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4721344518 
								
							 
						 
						
							
							
								
								LibC: Don't fail `getaddrinfo` if node is null  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e0d986dcd7 
								
							 
						 
						
							
							
								
								LibC: Add missing u_char and u_short types  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c7be3dcd5b 
								
							 
						 
						
							
							
								
								LibC: Add timer{add,sub,clear,isset,cmp}  
							
							... 
							
							
							
							These are not POSIX but used by used by some ports 
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								89c9bfd052 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement `socketpair` for UNIX sockets  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								12b93567f7 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement `getpeername`  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8aa4e4ff1e 
								
							 
						 
						
							
							
								
								LibC: Implement `clearenv`  
							
							... 
							
							
							
							This is GNU extension but seems nice to have :D 
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7eade002a7 
								
							 
						 
						
							
							
								
								LibC: Fix `mktime`  
							
							... 
							
							
							
							yday calculation was off so results were always off for march-december 
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a8f8d27f4e 
								
							 
						 
						
							
							
								
								LibC: Implement basic tzset()  
							
							... 
							
							
							
							I still don't have timezone support so this just sets values to UTC 
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								356935bd4f 
								
							 
						 
						
							
							
								
								LibC: Fix strtou{,l,ll} for negative values  
							
							... 
							
							
							
							Also set endp if base is invalid 
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bce3dd045f 
								
							 
						 
						
							
							
								
								LibC: Fix strncat return value  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								44b762f916 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement pwrite and make pread non-locking  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5d80c880c8 
								
							 
						 
						
							
							
								
								LibC: Fix `FILE` buffering once again :D  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b907263f35 
								
							 
						 
						
							
							
								
								LibC: Implement basic tmpfile  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0f0accf82c 
								
							 
						 
						
							
							
								
								LibC: Don't use `false` in pthread initializers  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ddcf414107 
								
							 
						 
						
							
							
								
								LibC: Fix netinet/in.h and arpa/inet.h definitions  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1bcd1edbf5 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement basic epoll  
							
							... 
							
							
							
							This implementation is on top of inodes instead of fds as linux does it.
If I start finding ports/software that relies on epoll allowing
duplicate inodes, I will do what linux does.
I'm probably missing multiple epoll_notify's which may cause hangs but
the system seems to work fine :dd: 
							
						 
						
							2025-05-13 10:18:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c18fefd5f3 
								
							 
						 
						
							
							
								
								BuildSystem: Cleanup cmake library linking  
							
							
							
						 
						
							2025-05-07 18:42:37 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2a6dc6a7b7 
								
							 
						 
						
							
							
								
								LibGUI: Add missing Texture files  
							
							
							
						 
						
							2025-05-07 17:21:29 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f959905adf 
								
							 
						 
						
							
							
								
								LibGUI: Rework window rendering  
							
							... 
							
							
							
							Abstract drawing surface to Texture. All windows now contain a texture
matching its size. 
							
						 
						
							2025-05-05 23:08:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f78c7e7926 
								
							 
						 
						
							
							
								
								LibGUI: Add API to block until window events are available  
							
							
							
						 
						
							2025-05-05 22:33:00 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f14774d034 
								
							 
						 
						
							
							
								
								libc: fix tmpnam when no name is found  
							
							
							
						 
						
							2025-05-05 19:17:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c08c63f420 
								
							 
						 
						
							
							
								
								libc: reorder destructor and fflush in exit  
							
							
							
						 
						
							2025-05-05 19:16:52 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5c37f198cb 
								
							 
						 
						
							
							
								
								WindowServer/LibGUI: Allow windows to set minimum size  
							
							
							
						 
						
							2025-05-05 18:19:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7798145c74 
								
							 
						 
						
							
							
								
								WindowServer: Implement window resizing  
							
							... 
							
							
							
							windows can now set resizable attribute which allows window server to
resize them 
							
						 
						
							2025-05-05 03:14:50 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fcfadd7c74 
								
							 
						 
						
							
							
								
								LibGUI: Add background color for windows  
							
							... 
							
							
							
							This is used when resizing a window to fill the empty space 
							
						 
						
							2025-05-05 03:12:31 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								76d4e6bd18 
								
							 
						 
						
							
							
								
								LibGUI: Add support for changing window title  
							
							
							
						 
						
							2025-05-05 01:10:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								82f4975f45 
								
							 
						 
						
							
							
								
								LibC: Save callee saved registers on setjmp  
							
							
							
						 
						
							2025-05-04 13:54:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d457e6ad6a 
								
							 
						 
						
							
							
								
								LibC: Fix printf e/E modifier for negative exponents  
							
							
							
						 
						
							2025-05-04 13:42:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								abf7c8e68a 
								
							 
						 
						
							
							
								
								LibC: Implement `difftime`  
							
							
							
						 
						
							2025-05-04 13:42:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1a38d0c31e 
								
							 
						 
						
							
							
								
								LibC: Add g/G modifiers to printf  
							
							
							
						 
						
							2025-05-04 13:42:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								006a196e4a 
								
							 
						 
						
							
							
								
								LibC: optimize strpbrk, str{,c}spn, strtok{,_r}  
							
							... 
							
							
							
							These matches are now detected with bitmasks instead of looping over the
second string 
							
						 
						
							2025-04-24 01:39:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8834241417 
								
							 
						 
						
							
							
								
								LibC: Fix scanf %n modifier  
							
							... 
							
							
							
							Old code was always returning off by one 
							
						 
						
							2025-04-22 09:55:38 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								96740d6be4 
								
							 
						 
						
							
							
								
								LibC: Make `inet_addr` spec compliant  
							
							... 
							
							
							
							I was not doing any error checking, basically i validated anything that
started with atleast a single digit. 
							
						 
						
							2025-04-22 09:40:46 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								33a0f562d3 
								
							 
						 
						
							
							
								
								resolver: Add support for CNAME  
							
							... 
							
							
							
							Also rework resolver's send format and convert test-tcp and nslookup to
use getaddrinfo 
							
						 
						
							2025-04-22 08:36:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								808c97020a 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement SA_RESTART  
							
							... 
							
							
							
							I have been thinking how to do this for a long time but I finally
figured out a semi-clean way 
							
						 
						
							2025-04-22 02:42:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5c9710c78b 
								
							 
						 
						
							
							
								
								LibC: Implement `strcoll_l`  
							
							
							
						 
						
							2025-04-22 00:48:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								028c7a822f 
								
							 
						 
						
							
							
								
								LibC: Don't define SCHAR_MAX in locale.c  
							
							
							
						 
						
							2025-04-21 22:21:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								543bb3cc4b 
								
							 
						 
						
							
							
								
								LibC: Rework malloc locking add proper realloc  
							
							
							
						 
						
							2025-04-21 20:29:28 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b774f147da 
								
							 
						 
						
							
							
								
								LibC: Implement dummy pthread_attr_{get,set}detachstate  
							
							... 
							
							
							
							detached threads are not yet supported, but this allows implementation
to make sure threads are joinable. 
							
						 
						
							2025-04-21 19:58:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2a5921b9c9 
								
							 
						 
						
							
							
								
								LibC: Implement pthread_barrier  
							
							... 
							
							
							
							This is not fully working but should be fine for most cases 
							
						 
						
							2025-04-21 19:53:38 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								60cb392e97 
								
							 
						 
						
							
							
								
								LibC: Implement pthread_barrier  
							
							... 
							
							
							
							This is yet another bad sched_yield implementation :D 
							
						 
						
							2025-04-21 19:52:14 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d012c538c3 
								
							 
						 
						
							
							
								
								LibC: Add PTHREAD_SPIN_INITIALIZER  
							
							... 
							
							
							
							This is not posix, but current implementation allows adding this 
							
						 
						
							2025-04-21 19:47:00 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1c88d0d7f7 
								
							 
						 
						
							
							
								
								LibC: Implement pthread_rwlock  
							
							... 
							
							
							
							This uses the same dumb sched_yield instead of actually blocking :D 
							
						 
						
							2025-04-21 18:48:47 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								773b8de8ba 
								
							 
						 
						
							
							
								
								LibC: Refactor pthread type definitions  
							
							
							
						 
						
							2025-04-21 14:38:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5d8dd090a9 
								
							 
						 
						
							
							
								
								LibC: Implement `pthread_once`  
							
							
							
						 
						
							2025-04-21 14:17:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								16dbfbb267 
								
							 
						 
						
							
							
								
								LibC: Make limits.h `*_MAX` usable in #if comparisons  
							
							
							
						 
						
							2025-04-20 17:15:20 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								265b4c2b22 
								
							 
						 
						
							
							
								
								LibC: Implement `thread_equal`  
							
							
							
						 
						
							2025-04-20 03:27:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								db9db2cc40 
								
							 
						 
						
							
							
								
								LibC: Implement basic pthread mutexes  
							
							... 
							
							
							
							This implementation is just calling sched_yield if it could not get
mutex. This is not optimal as it does not allow the CPU to idle, but it
works for now :)
Also I did not test this code at all, but it feels correct :D 
							
						 
						
							2025-04-20 03:27:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3642eabac0 
								
							 
						 
						
							
							
								
								LibC: Use BAN::atomic_* functions in pthread spinlock  
							
							... 
							
							
							
							This allows us not to reinterpret_cast pthread_spin_t to
BAN::Atomic<pthread_spin_t> which is much better :) 
							
						 
						
							2025-04-20 03:11:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1ccff9478f 
								
							 
						 
						
							
							
								
								LibC: Don't define __tls_get_addr if TLS is disabled  
							
							... 
							
							
							
							This makes linking fail if something tries to use TLS :) 
							
						 
						
							2025-04-20 03:11:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								85f9b585f5 
								
							 
						 
						
							
							
								
								LibC: Don't yield on `pthread_spin_lock`  
							
							... 
							
							
							
							Thats kinda the whole point of spinlocks :D 
							
						 
						
							2025-04-20 03:11:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								01626b4c9f 
								
							 
						 
						
							
							
								
								LibC: Add stub for `pthread_detach`  
							
							
							
						 
						
							2025-04-20 03:11:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a85841ca76 
								
							 
						 
						
							
							
								
								LibC: Add stub for `pthread_attr_setstacksize`  
							
							
							
						 
						
							2025-04-20 03:11:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fe6c4cd0b5 
								
							 
						 
						
							
							
								
								LibC: Implement POSIX TLD area (pthread_key*)  
							
							
							
						 
						
							2025-04-20 03:11:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f1585d09e1 
								
							 
						 
						
							
							
								
								LibC: Add more integer size definintions to limits.h  
							
							
							
						 
						
							2025-04-19 21:50:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6f9dc2a9b8 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement `fchdir`, cleanup `chdir` and `getcwd`  
							
							
							
						 
						
							2025-04-19 21:28:31 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								28275d86ea 
								
							 
						 
						
							
							
								
								LibC/Shell: set PWD env in Shell, not libc  
							
							... 
							
							
							
							I have no idea why I was doing it in the libc 
							
						 
						
							2025-04-19 21:16:11 +03:00