Commit graph

31202 commits

Author SHA1 Message Date
Idan Horowitz 762e047ec9 Kernel+LibC: Implement sigtimedwait()
This includes a new Thread::Blocker called SignalBlocker which blocks
until a signal of a matching type is pending. The current Blocker
implementation in the Kernel is very complicated, but cleaning it up is
a different yak for a different day.
2021-12-12 08:34:19 +02:00
Idan Horowitz 13d98999b7 Kernel: Flip incorrect bitwise set/clear of signal mask 2021-12-12 08:34:19 +02:00
Idan Horowitz 1397a5ab02 Kernel: Unblock threads only on unmasked signals
Signals that were explicitly masked should not unblock threads.
2021-12-12 08:34:19 +02:00
Idan Horowitz 81a76a30a1 Kernel: Preserve pending signals across execve(2)s
As required by posix. Also rename Thread::clear_signals to
Thread::reset_signals_for_exec since it doesn't actually clear any
pending signals, but rather does execve related signal book-keeping.
2021-12-12 08:34:19 +02:00
Idan Horowitz 31fa3f8b1b Kernel: Remove alternative signal stack settings on execve(2)
A successful call to execve(2) removes any existing alternate signal
stack.
2021-12-12 08:34:19 +02:00
Idan Horowitz 0ca1231d8f Kernel: Inherit alternative signal stack on fork(2)
A child process created via fork(2) inherits a copy of its parent's
alternate signal stack settings.
2021-12-12 08:34:19 +02:00
Idan Horowitz 92a6c91f4e Kernel: Preserve signal mask across fork(2) and execve(2)
A child created via fork(2) inherits a copy of its parent's signal
mask; the signal mask is preserved across execve(2).
2021-12-12 08:34:19 +02:00
Luke Wilde 0301180f88 Base: Add Braille Patterns to Katica Regular 10
2800-28FF
https://unicode.org/charts/PDF/U2800.pdf
2021-12-11 21:04:43 -08:00
Linus Groh db610d0cd6 Ports: Restore Python's setup.py patch
It appears that the patch still applied partially, which led to me
believing our changes were fully upstreamed. Only the _uuid module
specific changes didn't apply and are no longer needed, so simply
restore the other ones that I removed.
2021-12-12 00:23:04 +00:00
Lady Gegga 808b15b094 Base: Add some Dingbats, Symbols and Pictographs to Katica Regular 10
1F380, 1F332, 1F385, 1F384, 1F9E7, 1F381, 1F56F, 1F36A, 26EA, 1F514
1F9E6, 1F3B6, 1F3B5, 1F31F, 2744, 2603, 26C4, 26C7
2021-12-11 15:52:32 -08:00
Lady Gegga 6fb827ac53 Base: Add Aurebesh characters to font Katica Regular 10
E890–E8CE* https://www.kreativekorp.com/ucsur/charts/PDF/UE890.pdf
* PUA based on Under-ConScript Unicode Registry
2021-12-11 15:52:32 -08:00
Kenneth Myhra 62ddd7613c config: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
Kenneth Myhra 65f4d868e5 dd: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
Kenneth Myhra 00dbac9d16 date: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
Kenneth Myhra 7b13f22f96 LibCore: Add syscall wrapper for clock_settime() 2021-12-11 15:10:42 -08:00
Kenneth Myhra 5c15b97ca4 cut: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
Kenneth Myhra 7cb19b2965 cpp-processor: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
Kenneth Myhra 121fe820d9 cpp-parser: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
Kenneth Myhra 1a81d79705 cpp-lexer: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
Kenneth Myhra 601b60324a comm: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
Kenneth Myhra d86c84a700 clear: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
Kenneth Myhra 6e066bf1cd cksum: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
Kenneth Myhra 67a18d51c7 chres: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
Kenneth Myhra cc3710e19f chown: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
Kenneth Myhra c4bd46023b LibCore: Add syscall wrapper for getgrnam() 2021-12-11 15:10:42 -08:00
Kenneth Myhra cd5063555e LibCore: Add syscall wrapper for getpwnam() 2021-12-11 15:10:42 -08:00
Kenneth Myhra c8080fc2ca chgrp: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
Kenneth Myhra 52a451dcff LibCore: Add syscall wrapper for chown() 2021-12-11 15:10:42 -08:00
Kenneth Myhra 59d299955e checksum: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
Kenneth Myhra 6b6d7286b5 cal: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
Undefine 312bac1967 Mail: Ask the user if they want to see the mail settings 2021-12-11 15:09:54 -08:00
Jelle Raaijmakers bccfa205d3 LibGL: Improve mipmap lookup in Texture2D
We can get rid of a `VERIFY` since we already do this in `Array::at()`.
Also move `::mipmap()` to the header file so it is inlined in
`Sampler2D`.
2021-12-11 23:15:24 +01:00
Jelle Raaijmakers 65cda8e4aa LibGL: Always inline to_rgba32()
This function popped up in profiles.
2021-12-11 23:15:24 +01:00
Jelle Raaijmakers 930782a155 LibGL: Fix scissor box coordinate system
We were working with (0, 0) being the top-left of the render target,
but `glScissor` documentation states that this should be the
bottom-left instead.
2021-12-11 23:15:24 +01:00
Jelle Raaijmakers e967d31a98 LibGL: Remove unused default from rasterizer scissor_box
Its value is always set in the constructor.
2021-12-11 23:15:24 +01:00
Jelle Raaijmakers 0be2a76ee7 LibGL: Use simpler syntax for GL_SCISSOR_BOX retrieval 2021-12-11 23:15:24 +01:00
Jelle Raaijmakers 7ad70f623e LibGL: Make glDeleteTextures skip over 0 names
As stated in the manual:
     glDeleteTextures silently ignores 0's and names that do not
     correspond to existing textures.

If we do not skip these 0 names, they end up as invalid free texture
names in our name allocator.
2021-12-11 23:15:24 +01:00
Jelle Raaijmakers 4abd6aa198 LibGL: Remove unnecessary break; from SoftwareGLContext 2021-12-11 23:15:24 +01:00
Jelle Raaijmakers d885cc102b LibGL: Fix a number of enum values in gl.h
Their values should match the enum values as defined by the Khronos
Group.
2021-12-11 23:15:24 +01:00
Jelle Raaijmakers 5e370e6f96 LibGL: Implement GL_(UN)PACK_ALIGNMENT
These enums are used to indicate byte-alignment when reading from and
to textures. The `GL_UNPACK_ROW_LENGTH` value was reimplemented to
support overriding the source data row width.
2021-12-11 23:15:24 +01:00
Jelle Raaijmakers 0d57f08b98 LibGL: Use Array::back() for last mipmap selection 2021-12-11 23:15:24 +01:00
Jelle Raaijmakers bc36e39d07 AK: Simplify Array::back() by checking for Size > 0
We do not want `Array::max()` to be used here at all - we know the
size at compile-time, after all.
2021-12-11 23:15:24 +01:00
Jose Flores 65df30d00c Piano: Add track controls to the player widget
Adds the ability to add a track and cycle through the
tracks from player widget. Also displays the current track
being played or edited in a dropdown that allows
for quick track selection.
2021-12-11 23:07:21 +01:00
bugreport0 2b47e1233b Playground: Remove redundant pledge() 2021-12-11 23:06:56 +01:00
bugreport0 595ebe215b Inspector: Update pledge() idiom 2021-12-11 23:06:56 +01:00
bugreport0 1a2ff38609 CrashReporter: Remove redundant pledge() 2021-12-11 23:06:56 +01:00
Hendiadyoin1 7a206868f8 Kernel: Move architecture dependent includes to the top in Processor.h
With the declaration order dependency resolved in the last two commits
we can now do this, which looks a lot nicer.
2021-12-11 13:23:27 -08:00
Hendiadyoin1 3f434506f5 Kernel: Extract ProcessorSpecificDataID from from Arch/Processor.h 2021-12-11 13:23:27 -08:00
Hendiadyoin1 556b516182 Kernel: Extract DeferredCallEntry from Arch/Processor.h 2021-12-11 13:23:27 -08:00
David Lindbom 235a2b35d6 passwd: Port to LibMain 2021-12-11 13:16:55 -08:00