Age | Commit message (Collapse) | Author |
|
|
|
Avoid walking the packet queue, instead use a linked list with a count.
|
|
There are use cases where a linked list is useful but it's also worth
the overhead to maintain a count so you can quickly answer queries of
the size of the list.
|
|
A process that is not in the foreground process group of a TTY should
not be allowed to read/write that TTY. Instead, we now send either a
SIGTTIN (on read) or SIGTTOU (on write) signal to the process, and fail
the I/O syscall with EINTR.
Fixes #205.
|
|
This fixes the bug with the shell not waiting for any foreground process
that attempts to read from the terminal in the Lagom build.
|
|
This reverts commit dc12cbca41b8b667ae7ced1066647d47186d1557.
Sadly this broke the build due to some confusion about <new>.
Reverting until this can be solved fully.
|
|
This reverts commit 45b05e9734962b07f95630e76b9a680e1775f002.
I forgot about the Toolchain build again. :^(
|
|
This class was added in the very early days of LibGUI, when I wasn't
quite sure if subclassing table views made sense or not.
|
|
This makes Lagom pick up the host math.h, which is what we want.
|
|
...except in kernelspace.
|
|
|
|
Instead of returning a ssize_t where negative values mean error,
we now return KResultOr<size_t> and use the error state to report
errors exclusively.
|
|
- Remove goofy _r suffix from syscall names.
- Don't take a signed buffer size.
- Use Userspace<T>.
- Make TTY::tty_name() return a String instead of a StringView.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This syscall allows a parent process to disown a child process, setting
its parent PID to 0.
Unparented processes are automatically reaped by the kernel upon exit,
and no sys$waitid() is required. This will make it much nicer to do
spawn-and-forget which is common in the GUI environment.
|
|
|
|
Useful for sanitizer fuzzer builds.
clang doesn't have a -fconcepts switch (I'm guessing it just enables
concepts automatically with -std=c++2a, but I haven't checked),
and at least the version on my system doesn't understand
-Wno-deprecated-move, so pass these two flags only to gcc.
In return, disable -Woverloaded-virtual which fires in many places.
The preceding commits fixed the handful of -Wunused-private-field
warnings that clang emitted.
|
|
|
|
|
|
|
|
After running a build command, make by default stat()s the command's
output, and if it wasn't touched, then it cancels all build steps
that were scheduled only because this command was expected to change
the output.
Ninja has the same feature, but it's opt-in behind the per-command
"restat = 1" setting. However, CMake enables it by default for all
custom commands.
Use Meta/write-only-on-difference.sh to write the output to a temporary
file, and then copy the temporary file only to the final location if the
contents of the output have changed since last time.
write-only-on-difference.sh automatically creates the output's parent
directory, so stop doing that in CMake.
Reduces the number of build steps that run after touching a file
in LibCore from 522 to 312.
Since we now no longer trigger the CMake special case "If COMMAND
specifies an executable target name (created by the add_executable()
command), it will automatically be replaced by the location of the
executable created at build time", we now need to use qualified paths to
the generators.
Somewhat related to #2877.
|
|
Also add missing calls to `adopt()`.
|
|
This patchset also adds the 'shift' builtin, as well as the usual tests.
closes #2948.
|
|
according to the spec.
|
|
This is only useful for build commands that update their destination in all cases
and thus sometimes confuse cmake into rebuilding everything needlessly.
|
|
For now this only contains DEFLATE, and a very simple Zlib
Eventually GZip, etc. can go here as well.
|
|
Now that document element returns a generic DOM element, we need to
make sure head and body get a html element.
The spec just says to check if the document element is a html element,
so let's do that.
|
|
|
|
This has the nice side effect of fixing alias completion, because
cached_path is the source of truth for the completion system, and it was
only refreshed (with shell::cache_path()) in the shell's constructor,
before the rc files where loaded (ie no aliases)
This also means that shell::is_runnable can now rely on the cache, and
doesn't have to check the aliases itself.
|
|
And display in red the command which will result in something like "no
command, or is directory" (inspired by the fish shell).
|
|
|
|
|
|
|
|
|
|
|
|
Here's another CRTP mixin since that's the best we can do with C++.
This prepares exposing these via IDL on Element and CharacterData.
|
|
This makes contenteditable work in multi-process mode. :^)
|
|
Unicode calls them "code points" so let's follow their style.
|
|
|
|
|
|
When clicking on a window's frame that is blocked by a modal
window, we want to bring the entire window stack to the front
regardless of where the user clicked in the frame (not just the
icon).
|