Age | Commit message (Collapse) | Author |
|
Fixes #11402.
|
|
This allows using pls on a program with arguments more ergonomically,
e.g. `pls -- echo "hello friends"` can now simply be done as:
`pls echo "hello friends"`.
|
|
We've finally gotten kmalloc to a point where it feels decent enough
to drop this comment.
There's still a lot of room for improvement, and we'll continue working
on it.
|
|
Let's do some simple pointer arithmetic to verify that the address being
freed is at least within one of the two valid kmalloc VM ranges.
|
|
|
|
This was a premature optimization from the early days of SerenityOS.
The eternal heap was a simple bump pointer allocator over a static
byte array. My original idea was to avoid heap fragmentation and improve
data locality, but both ideas were rooted in cargo culting, not data.
We would reserve 4 MiB at boot and only ended up using ~256 KiB, wasting
the rest.
This patch replaces all kmalloc_eternal() usage by regular kmalloc().
|
|
Since a socket can be accessed by multiple threads concurrently, we need
to protect shared data behind the socket mutex.
There's very likely more places where we need to fix this, the purpose
of this patch is to fix a VERIFY() failure in getsockopt() seen on CI.
|
|
If we do not mark these ranges as reserved, RangeAllocator might later
give us addresses that overlap these, which then causes an assertion
failure in the SoftMMU. This behavior led to recurring CI failures, and
sometimes made programs as simple as `/bin/true` fail.
Fixes "Crash 1" reported in #9104
|
|
Addresses an issue in which a window resize event after history
overflow would cause the Terminal to crash due to a failed assertion.
The problematic assertion was removed and the logic updated to
support inserting lines even when the start of the history is at an
offset (due to an overflow).
Resolves #10987
|
|
Implement a mechanism that allows us to alter colors so that they
mimic those a colorblind person would see. From the color we can then
alter the colors for the whole preview so we can simulate everything
in the theme including icons/decorations.
This filter is also available as a Filter in LibGfx so it can be
reused in multiple other places.
The color simulation algorithm is based on this one
https://github.com/MaPePeR/jsColorblindSimulator publicly available.
|
|
...for now - the reason being that the AST breaks 'completion bubbling'
and returns a plain Value, and code at the call site relies on the VM
having an exception set when converting the plain value back into a
completion.
Fixes #11301.
|
|
We were doing this dance in notify_watchers():
set_metadata_dirty(true);
set_metadata_dirty(false);
This was done in order to force out inode watcher events immediately.
Unfortunately, this was racy, as if SyncTask got scheduled at the wrong
moment, it would try to flush metadata for a clean inode. This then got
trapped by the VERIFY() statement in Inode::sync_all():
VERIFY(inode.is_metadata_dirty());
This patch fixes the issue by replacing notify_watchers() with lazy
metadata notifications like all other filesystems.
|
|
- SSE3 makes LibM's trunc() not SIGILL (due to FISTTP).
- SMAP and SMEP allow us to exercise more kernel security mechanisms.
|
|
|
|
|
|
This change updates the port to the latest version, as part of that work
I basically reported the application, as we have added a lot of LibC
functionality which we were missing before. I've also updated the port
to mark stressor's we don't support as nops, instead of trying to avoid
compiling them at all. This will make the port much easier to maintain
in the future.
|
|
This is mandated by POSIX, it's fine that we don't actually implement
it, just as long as it's present during compilation. :^)
|
|
Much like the existing in6addr_any global and the IN6ADDR_ANY_INIT
macro, our LibC is also expected to export the in6addr_loopback global
and the IN6ADDR_LOOPBACK_INIT constant.
These were found by the stress-ng port.
|
|
These POSIX APIs are defined as mapping directly to
`strrchr` and `strchr` respectively.
These are needed for the latest version of the stress-ng port,
and also give us better POSIX compliance.
|
|
This is a POSIX API required for the latest stress-ng port.
|
|
|
|
We can now directly create formatted KStrings with KString::formatted.
:^)
|
|
This change adds a context menu for each app button to remove items
from the quicklaunch section of the Taskbar.
|
|
This change adds the capability to drop AppFiles to the quick launch
section of the Taskbar. All logic was moved to a new
QuickLaunchWidget.
|
|
|
|
|
|
|
|
|
|
We've moved to this pattern for the majority of usages of IntrusiveList
in the Kernel, might as well be consistent. :^)
|
|
|
|
Replace parts of the README written by myself in the first person with
a section linking to our YouTube channels.
|
|
https://www.unicode.org/charts/PDF/U1F300.pdf
|
|
1F302, 1F308, 1F30A, 1F320, 1F322, 1F327, 1F328, 1F329, 1F32A, 1F331,
1F333, 1F334, 1F335, 1F337, 1F344, 1F373, 1F378, 1F394, 1F39C, 1F52B
1F39D, 1F3CF, 1F3D1, 1F3D2, 1F3D3, 1F3ED, 1F3F0, 1F3F1, 1F3F2, 1F3F3,
1F3F4, 1F3F9, 1F40B, 1F40C, 1F40D, 1F441, 1F443, 1F454, 1F459, 1F460,
1F464, 1F465, 1F47E, 1F494, 1F495, 1F497, 1F4A1, 1F4A2, 1F4AC, 1F4BB,
1F4BC, 1F4BD, 1F4BF, 1F4BC, 1F4C0, 1F4C3, 1F4C4, 1F4C5, 1F4C6, 1F4CD,
1F4CE, 1F4CF, 1F4D0, 1F4E8, 1F4E9, 1F4EF, 1F4F1, 1F4F2, 1F4F7, 1F512,
1F513, 1F527, 1F528
https://www.unicode.org/charts/PDF/U1F300.pdf
|
|
1F78-1F7B, 1F10, 1FC6, 1F11
https://www.unicode.org/charts/PDF/U1F00.pdf
|
|
1EB8, 1EB9, 1ECC, 1ECD, 1E0A-1E0F, 1EE4, 1EE5
https://www.unicode.org/charts/PDF/U1E00.pdf
|
|
0456-0458, 04E6-04E9, 04AE, 04AF, 04A2, 04A3, 04D8, 04D9, 049A, 049B,
0492, 0493, 04BA, 04BB, 045E
https://www.unicode.org/charts/PDF/U0400.pdf
|
|
03CC, 03CD https://www.unicode.org/charts/PDF/U0370.pdf
|
|
02BB-02BD https://www.unicode.org/charts/PDF/U02B0.pdf
|
|
018F, 01E2, 01E3, 0218-021B, 021E, 021F, 01E6, 01E7
https://www.unicode.org/charts/PDF/U0180.pdf
|
|
|
|
This option will appear when you select one or more files or
directories. It will then ask the user to enter a name for the new
archive (or use the current directories' name if left empty) and
create it under that name in the currently opened directory.
Note that only .zip files are currently supported.
|
|
It was possible for the "local_socket_read" and "local_socket_write"
tests to fail because we had exited the EventLoop before
BackgroundAction got around to invoking the completion callback.
The crash happened when trying to deferred_invoke() on the background
thread, calling Core::EventLoop::current() after said EventLoop had
returned from exec().
Fix this by not passing a completion callback, since we didn't need
one in the first place.
|
|
Replace the scaled up 16px Settings icon with a new 32px version.
|
|
Our lua Makefile patch contained hardcoded binaries from the i686
toolchain. Use the CC, AR, and RANLIB variables from .port_include.sh
instead to make it architecture independent.
|
|
|
|
Previously, if the parent directory didn't exist when making a project,
it would say that the creation directory was 'invalid' which isn't
necessarily true.
This patch prompts the user to ask if they would like to create the
parent directory when creating a project, instead of treating it as an
'invalid' directory.
|
|
This means we can get rid of the hacks where we were peeking a code
point instead of getting the next one so that we could peek_twin()
later. Now, we follow the spec more closely. :^)
|
|
Same as with would_start_a_number(), we were skipping a code point.
|
|
This fixes the crash that Luke found using Domato:
```css
. foo {
mso-border-alt: solid .-1pt;
}
```
The spec distinguishes between "If the next 3 code points would
start..." and "If the input stream starts with..." but we were treating
them the same way, skipping the first code point in the process.
|
|
These correspond to "If the input stream starts with..." in the spec,
which up until now we were not handling correctly, which led to some fun
bugs.
As noted, reconsuming the input code point in order to read its value is
hacky, but works. Keeping track of the current code point in Tokenizer
would be nicer, when I'm feeling brave enough to mess with it!
|