Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-05-30 | LibC: Move wait-related stuff to <sys/wait.h>. #POSIX | Andreas Kling | |
2019-05-30 | LibC: Add setenv(). | Andreas Kling | |
If I'm understanding the standard C library correctly, setenv() copies while putenv() does not. That's really confusing and putenv() basically sucks. To know which environment variables to free on replacement and which ones to leave alone, we keep track of the ones malloced by setenv in a side table. This patch also moves Shell to using setenv() instead of putenv(). Fixes #29. | |||
2019-05-30 | Kernel/LibC: Implement sched_* functionality to set/get process priority | Robin Burchell | |
Right now, we allow anything inside a user to raise or lower any other process's priority. This feels simple enough to me. Linux disallows raising, but that's annoying in practice. | |||
2019-05-30 | LibC: Add malloc_size() to tell you how big an allocation might be. | Andreas Kling | |
It can't be 100% precise but it doesn't really matter. Use this to implement realloc() nicely. This also fixes a bug in realloc() where we didn't take the size of the allocation metadata into account when computing the size of an allocation backed by a BigAllocationBlock. | |||
2019-05-29 | LibM LibC: add fixes for Lua port. | Mustafa Ali CAN | |
2019-05-29 | LibC: realloc() should reuse the existing allocation more often. | Andreas Kling | |
We were only reusing the existing allocation if the new requested size was exactly the same as the fudged size of the block. This meant that realloc() could allocate a new block even though the new block would be identical to the old block. | |||
2019-05-28 | LibC: Don't define ALWAYS_INLINE if it's already defined. | Andreas Kling | |
This makes building GCC a bit quieter. | |||
2019-05-28 | LibC: fcntl.h should define F_RDLCK. | Andreas Kling | |
2019-05-28 | Add clang-format file | Robin Burchell | |
Also run it across the whole tree to get everything using the One True Style. We don't yet run this in an automated fashion as it's a little slow, but there is a snippet to do so in makeall.sh. | |||
2019-05-28 | LibC: Make dlfcn stubs extern "C" like the outside world expects. | Andreas Kling | |
2019-05-28 | LibC: Move size_t, ptrdiff_t and NULL to stddef.h. #POSIX | Andreas Kling | |
2019-05-28 | LibC: Move struct timeval to sys/time.h. #POSIX | Andreas Kling | |
2019-05-26 | LibC: Implement abort() as raise(SIGABRT). | Andreas Kling | |
2019-05-26 | LibC: Let the string for SIGFPE be "Division by zero". | Andreas Kling | |
That's really what we send this signal for, so let's call it that. | |||
2019-05-23 | LibC: Stub out dlfcn | Robin Burchell | |
2019-05-23 | LibC: The "install" target should depend on the "startfiles" target. | Andreas Kling | |
This ensures that crt0.o is built during the Toolchain bootstrap. | |||
2019-05-23 | LibC: Port setjmp syntax to avoid nasm dependency | Robin Burchell | |
2019-05-22 | LibC: Some compat fixes for GNU make. | Andreas Kling | |
2019-05-22 | LibC: Implement wait() as a wrapper around waitpid(). | Andreas Kling | |
2019-05-21 | LibC: First pass of compat work / stubs while trying to build OpenSSL. | Andreas Kling | |
2019-05-21 | LibC: Oops, forgot to commit sigsuspend() prototype. | Andreas Kling | |
2019-05-21 | LibC: Add htonl() and ntohl(). | Andreas Kling | |
2019-05-21 | LibC: Add sigsuspend() stub. | Andreas Kling | |
2019-05-20 | Kernel: Add getpeername() syscall, and fix getsockname() behavior. | Andreas Kling | |
We were copying the raw IPv4 addresses into the wrong part of sockaddr_in, and we didn't set sa_family or sa_port. | |||
2019-05-20 | Kernel: Add support for recv() with MSG_DONTWAIT. | Andreas Kling | |
Passing this flag to recv() temporarily puts the file descriptor into non-blocking mode. Also implement LocalSocket::recv() as a simple forwarding to read(). | |||
2019-05-19 | LibC: Add an h_addr macro for old code that doesn't know about h_addr_list. | Andreas Kling | |
2019-05-19 | Kernel+LibC: Implement getsockname() syscall. | Andreas Kling | |
2019-05-19 | LibC: Add stub for fsync(). | Andreas Kling | |
2019-05-19 | LibC: Add mmap_with_name() that names the allocation immediately. | Andreas Kling | |
This allows us to skip the separate call to set_mmap_name() in code that we control, e.g malloc() and GraphicsBitmap. | |||
2019-05-19 | LibC: unsetenv() should take a const char*, not a char*. | Andreas Kling | |
2019-05-18 | malloc: Use a Vector with inline capacity for the big block recyclers. | Andreas Kling | |
2019-05-17 | LibC: Implement clock() and add CLOCKS_PER_SEC define. | Andreas Kling | |
2019-05-17 | LibCore: Move AK/ArgsParser to LibCore/CArgsParser | Robin Burchell | |
Also rename the classes to match LibCore naming style. This means that it's no longer incorrectly linked into LibC and Kernel. | |||
2019-05-17 | LibC: Rename beep() to sysbeep() to avoid clashing with curses. | Andreas Kling | |
2019-05-16 | LibC: Don't clobber errno in dbgprintf(). | Andreas Kling | |
2019-05-16 | LibC/Shell: Add unsetenv(), and unset builtin calling it in Shell. | Robin Burchell | |
2019-05-16 | LibC: Change putenv (and getenv) to not copy, but directly return the ↵ | Robin Burchell | |
environ values. This is in keeping with how putenv should function. It does mean that the shell's export command now leaks, but that's not a difficult fix. Contributes to #29. | |||
2019-05-16 | LibC: Add struct timespec to time.h | Robin Burchell | |
2019-05-16 | LibC: Allow {AF,PF}_UNIX as well as {AF,PF}_LOCAL | Robin Burchell | |
Seems that these are equivilent. POSIX specifies _LOCAL, but a lot of software uses _UNIX. | |||
2019-05-16 | LibC: Add INET_ADDRSTRLEN define | Robin Burchell | |
2019-05-16 | LibC: Define a SOMAXCONN value in socket.h | Robin Burchell | |
No idea if this is sensible; but some software will look for it. | |||
2019-05-16 | LibC: Implement str{n}casecmp | Robin Burchell | |
2019-05-15 | Kernel: Add a beep() syscall that beeps the PC speaker. | Andreas Kling | |
Hook this up in Terminal so that the '\a' character generates a beep. Finally emit an '\a' character in the shell line editing code when backspacing at the start of the line. | |||
2019-05-14 | malloc: Make it possible to recycle big allocation blocks as well. | Andreas Kling | |
This patch makes us recycle up to 8 blocks of 4KB size. This should probably be extended to handle other sizes. | |||
2019-05-13 | Feature/pidof (#31) | GuillaumeGas | |
* Added killall command * Fixed feedbacks of awesomekling * Implemented pidof program and helper to parse arguments called ArgsParser. * Fixed feedbacks in pidof implem. Fixes #26 | |||
2019-05-13 | LibC+Shell: Make system() actually work. | Andreas Kling | |
system() will now fork off a child process and execute the command via /bin/sh -c. There are probably some things to fix here, but it's a start. | |||
2019-05-10 | LibC: Oops, I forgot to commit sys/uio.{cpp,h} yesterday. | Andreas Kling | |
2019-05-10 | Kernel: Add a writev() syscall for writing multiple buffers in one go. | Andreas Kling | |
We then use this immediately in the WindowServer/LibGUI communication in order to send both message + optional "extra data" with a single syscall. | |||
2019-05-08 | Toolchain: Make sure everything ends up in the right place in Root/ | Andreas Kling | |
2019-05-03 | Kernel+Userland: Implement mknod() syscall and add a /bin/mknod program. | Andreas Kling | |