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 
							
						 
						
							
								e109b5cff6 
								
							 
						 
						
							
							
								
								Kernel: Remove unnecessary locks from Pipe  
							
							... 
							
							
							
							Inode already locks its own mutex when read/write is called there is no
need to explicitly lock them in read_impl/write_impl 
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9883fb7bf6 
								
							 
						 
						
							
							
								
								Kernel: Rewrite epoll notifying system  
							
							... 
							
							
							
							This removes the need to lock epoll's mutex when notifying epoll. This
prevents a ton of deadlocks when epoll is notified from an interrupt
handler or otherwise with interrupts disabled 
							
						 
						
							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 
							
						 
						
							
								f2ccab2df7 
								
							 
						 
						
							
							
								
								ports/openssl: Fix openssl  
							
							... 
							
							
							
							New unistd.h definitions (or something) makes openssl think recvmsg is
available, disable it manually. 
							
						 
						
							2025-06-01 19:51:33 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b2e3aefa72 
								
							 
						 
						
							
							
								
								Kernel: Don't crash when terminating process with signal  
							
							
							
						 
						
							2025-06-01 16:59:02 +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 
							
						 
						
							
								1c882ea361 
								
							 
						 
						
							
							
								
								DynamicLoader: Don't print TODOs on PT_GNU_ headers  
							
							... 
							
							
							
							These should be either handled by kernel or just used as optimizations.
There is no requirement to handle them in dynamic loader 
							
						 
						
							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 
							
						 
						
							
								8ff9c030bf 
								
							 
						 
						
							
							
								
								Kernel: Add better termios support  
							
							... 
							
							
							
							I'm not sure if this is correct but at least it's better than before :) 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9b875fb930 
								
							 
						 
						
							
							
								
								Kernel: Make epoll work with different fds pointing to same inode  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								857bac4b78 
								
							 
						 
						
							
							
								
								Kernel: Disable unused interrupt methods in PCI devices  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								30074c290d 
								
							 
						 
						
							
							
								
								Kernel: Add more descriptive names to sockets types  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								60d1c26114 
								
							 
						 
						
							
							
								
								Kernel: Fix race condition in FileBackedRegion creation  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								692ba43182 
								
							 
						 
						
							
							
								
								Kernel: Fix spinlock bugs found by the new spinlock security  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6542a037df 
								
							 
						 
						
							
							
								
								Kernel: Make spinlocks more safe  
							
							... 
							
							
							
							Kernel now makes sure thread is not holding any spinlocks when it tries
to lock a mutex or yield. Spinlocks are supposed to be only used for
short times without the possibility of yielding 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9f4b451501 
								
							 
						 
						
							
							
								
								Kernel: Fix epoll deadlock  
							
							... 
							
							
							
							If epoll_wait and epoll_notify were called at the same time, there was a
possible deadlock when epoll was confirming the event from the inode 
							
						 
						
							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 
							
						 
						
							
								8392472bac 
								
							 
						 
						
							
							
								
								ports: Add git port  
							
							... 
							
							
							
							This commit is pushed from banan-os :D 
							
						 
						
							2025-05-29 00:31:40 +00:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cd5b351ce4 
								
							 
						 
						
							
							
								
								Kernel: Fix fchmodat mode handling  
							
							... 
							
							
							
							Ignore file type bits instead of returning EINVAL if they are set 
							
						 
						
							2025-05-29 03:24:31 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								50024fbf8b 
								
							 
						 
						
							
							
								
								ports/vim: Set EDITOR=vim in .shellrc  
							
							
							
						 
						
							2025-05-29 01:20:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4d4fb3b6ec 
								
							 
						 
						
							
							
								
								Kernel: Cleanup and fix pipe  
							
							... 
							
							
							
							pipe now sends SIGPIPE and returns EPIPE when writing and no readers are
open 
							
						 
						
							2025-05-29 01:02:22 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								37dea8aee7 
								
							 
						 
						
							
							
								
								userspace: Implement basic `less` program  
							
							... 
							
							
							
							This is very simple and only supports couple of flags and scrolling 
							
						 
						
							2025-05-29 01:00:28 +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 
							
						 
						
							
								2f37776614 
								
							 
						 
						
							
							
								
								Kernel: Notify epoll on new TCP connections  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f778bca3f2 
								
							 
						 
						
							
							
								
								Kernel: Remove accidentally commited debug code :)  
							
							
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a945d19750 
								
							 
						 
						
							
							
								
								Kernel: Partially fix PCI PIN interrupt routing  
							
							... 
							
							
							
							Don't fail early if the first device is not the one we are looking for 
							
						 
						
							2025-05-28 03:10:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7f04b2c96c 
								
							 
						 
						
							
							
								
								Kernel: Fix E1000 interrupt handling  
							
							... 
							
							
							
							E1000 does not support MSI-X and thus does not generate RxQ0 interrupts. 
							
						 
						
							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