Commit Graph

66381 Commits

Author SHA1 Message Date
Augustin Cavalier
050c34d5d1 Updates in preparation for package sync on gcc2h. 2024-08-10 17:34:55 -04:00
PulkoMandy
9d62be21bf gnu/sched.h: missing features.h include
Change-Id: I5032dbf08a034df77ab4b436178d08fba2137da5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7974
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-10 11:26:53 +00:00
Autocomitter
902479359a Update translations from Pootle 2024-08-10 08:18:13 +00:00
Autocomitter
b622b2066e Update translations from Pootle 2024-08-10 08:18:13 +00:00
Autocomitter
4aa39172c0 Update translations from Pootle 2024-08-10 08:18:13 +00:00
Autocomitter
1780e1dc6c Update translations from Pootle 2024-08-10 08:18:12 +00:00
Autocomitter
28f7332345 Update translations from Pootle 2024-08-10 08:18:12 +00:00
Augustin Cavalier
5a09cea418 FAT: Fix type of volumeCluster.
pcbmap takes a u_long.

Fixes #18958.
2024-08-10 00:53:24 -04:00
Augustin Cavalier
7dea48f378 HaikuPorts/x86_64: Synchronize.
Includes OpenSSL 3.0, Python 3.10, and more.
2024-08-09 22:49:52 -04:00
Augustin Cavalier
101769a583 BuildFeatures: Updates for libtiff >= 6.0. 2024-08-09 22:49:51 -04:00
Augustin Cavalier
a79f10b8d1 JPEG2000Translator: Tweaks for usage with the new JasPer version. 2024-08-09 22:49:51 -04:00
PulkoMandy
0ea56347bd Update to OpenSSL 3.
- Rename the package in Jamfiles as appropriate (but don't rename the
  build feature)

- Remove libnetapi SSL class (not needed anymore, OpenSSL now knows how
  to use pthread functions directly and seed its random generator)

- Rename or remove a few other deprecated functions

Change-Id: I624833923e113a8235932d7ce8020bf27c6e2ea6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7717
2024-08-09 22:49:51 -04:00
Augustin Cavalier
3ecbb34240 IORequest: Correct major oversight in finished callback API.
The IORequest internally likes to deal with transferEndOffset
not transferredBytes because of sub-requests potentially being
prepared all at once (in some paths in the I/O scheduler),
thus fTransferSize can get incremented in Advance() before we have
actually executed that transfer.

But external consumers much prefer just knowing transferredBytes
not transferEndOffset. And many of them actually named their
variables that (or "bytesTransferred") and just passed the
transferEndOffset through to variables with that name! That's
obviously wrong, and it's surprising it wasn't discovered before now.

The problem was uncovered by repeated KDLs in PrecacheIO.
That method used the "bytesTransferred" value as a count of
pages transferred, which would then run past the end of the array
if the transfer start offset was not 0 (which the majority
of the time it would be, since this method gets called on
the first mmap() of a file, probably before any pages are read in.)

Most other consumers of this API did not check the value, it seems,
or otherwise had some mitigating factor that prevented it from
causing more problems. An exception is the page code, which
may have spuriously considered writes as successful when they
really weren't.

May fix some of the "invalid concurrent access to page" KDLs.
2024-08-09 18:04:27 -04:00
Augustin Cavalier
4909eb2091 app_server: Move user-path management more into GlobalFontManager.
The Desktop instance is currently a singleton, and by the time it starts
the GlobalFontManager's initial scan is already running, so if we
register the user paths then it will spend a long time waiting for
the lock. GlobalFontManager didn't even use the provided UID,
so just move the add-user-paths logic into the constructor.

This helps with #18669 on systems that have the default fonts set
and no font settings file. (On systems that do, the global font
manager lock will be acquired in desktop settings initialization.)
2024-08-09 17:10:13 -04:00
Augustin Cavalier
382f18110f DebugAnalyzer: Fix scrollbars in the scheduling view.
It's scroll-view-aware.
2024-08-09 17:09:49 -04:00
Augustin Cavalier
27462aa0c7 virtio_net: Received length includes net_hdr length.
This wasn't noticed until now because the IPv4 module would just
truncate packets to their actual length, but the extra data would
appear in packet captures.
2024-08-08 21:16:13 -04:00
Augustin Cavalier
e3e02efb63 device_manager: Only scan busses/scsi in the default case for virtio.
Otherwise we load and unload the SCSI module thousands of times,
which is expensive. It was only added to this section for virtio
in d3b108c53d, so avoid scanning
it here except in that case.

Confirmed that virtio_scsi still works as a boot device.

While at it, remove an unused get_attr.

Change-Id: I0882fcb3465809d6bcdd8ed45e66a4dbfe91f7ac
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7965
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-09 00:42:25 +00:00
Augustin Cavalier
b134a498f6 kernel/vm: The kernel can transfer any area.
Necessary to get the system profiler to work properly.

Change-Id: Id9c1a0bedaef18680361c5de449d293ff053940c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7964
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-09 00:42:25 +00:00
Augustin Cavalier
686e891cd2 system_profiler: Add a mode for scheduling_recorder -r like profile -r.
And add the necessary logic in scheduling_recorder. This way we can
track scheduling profiling during the boot process.

Also remove B_SYSTEM_PROFILER_IO_SCHEDULING_EVENTS as it can't be
activated this early in the boot process.

Change-Id: If32f9b5d61c8cd2b3b36a4e6f8065301abd46149
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7963
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-09 00:42:25 +00:00
Máximo Castañeda
2ef4221668 Input server: add some mouse settings checks
Workarounds broken settings as in #18973.

Change-Id: I9723cba7fc46ab624da54ebaf3e6e9e1fa547d66
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7962
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-08 22:35:46 +00:00
Pascal Abresch
450de6e95f Appearence: Fix control background color in automatic colors dark mode.
Change-Id: I845f65ea811820ef27874d30782100bb5d175419
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7959
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-08 20:59:46 +00:00
X512
e2c588b594 build: put each image build target to separate line
It helps to simplify to view difference and apply patches.

No functional changes.

Change-Id: Ia29368eceaeb3306990c09da77c4527eff87c72a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7932
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-08 16:21:35 +00:00
Augustin Cavalier
5ee32555f1 freebsd_network: Use the correct buffer length in receive.
Should fix #18966.

Change-Id: I05e35ecbdc4c269501980c18cedfc69d99618ae6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7961
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 813c5e2fde)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7976
2024-08-08 16:11:52 +00:00
Augustin Cavalier
a1d79e238e Versioning: Add BETA_5 and PRE_BETA_6 version constants.
* PRE_BETA_6 is now the default in master.
2024-08-08 10:42:41 -04:00
Augustin Cavalier
de1f1b5de5 BColumnListView: Use make_color for GCC2 compatibility. 2024-08-07 23:07:12 -04:00
Augustin Cavalier
dbc6b2061e kernel/timer: Reset the hardware timer on every cancellation.
This reverts c5a499a74b
(except for the style fixes in that commit.)

See inline comment. Even after the fix to realtime events,
it seems there are still some lingering bugs causing freezes
on some systems. For now, remove the check again.
2024-08-07 23:03:04 -04:00
Augustin Cavalier
efc43c5270 mixer: Add initialization to appease GCC2. 2024-08-07 21:25:52 -04:00
Pascal Abresch
e86b891320 ResEdit: fix rendering in Dark mode
Change-Id: I70d14750e1d695ab6448d066d94065357ee75ada
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7957
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-08 01:17:02 +00:00
Pascal Abresch
c3f534848d IK: ColumnListView: Draw the expander box in dark mode
Change-Id: I83ff1de98a12527a6c5ede0940c1c95cb1adf1dc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7956
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-08 01:17:02 +00:00
Pascal Abresch
65de39a14b WebPositive: fix close tab button in dark mode
Change-Id: Id133626247b8a763d8befd87cc8db0a7048d1218
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7935
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-08 01:17:02 +00:00
Pascal Abresch
d404a2f036 IK: ColumnListView dark mode fix
Change-Id: I19c4ad3f617b6fb9db15a4e8f0a9bae459f61e97
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7934
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-08 01:16:43 +00:00
Augustin Cavalier
32bdd3c01d freebsd_network: After freeing the bounce buffer, clear its size.
Otherwise the check just above will succeed incorrectly in cases where
we failed to allocate a buffer (possibly due to the instructions not
to wait.)
2024-08-07 21:04:32 -04:00
Augustin Cavalier
7cb6c1c23f freebsd_network: Correct handling of dmamem allocation flags.
_prepare_bounce_buffer also calls _allocate_dmamem and needs to have
the passed BUS_* flags handled properly, so just move the handling
to _allocate_dmamem directly.
2024-08-07 21:03:16 -04:00
Augustin Cavalier
58137a628d multi_audio: Fix logging print.
The value is really "lateness" not "how_early".
2024-08-07 20:45:13 -04:00
Augustin Cavalier
1513e5484e mixer: Allow stopping the mixer before it's even been started. 2024-08-07 20:44:06 -04:00
Augustin Cavalier
1352dfe46a mixer: Don't stop the mixer in Disconnect().
The logic in the mixer will automatically stop the mix thread but
leave the "Started" flag set in this case.

While at it, clean up that logic.

This suffices to get the mixer to connect and disconnect from
the same output, at least, and have audio output still work.
2024-08-07 20:44:06 -04:00
Augustin Cavalier
424086eeef multi_audio: Tolerate played_real_time less than TimeComputer's RealTime.
See inline comment. As we initialize the TimeComputer with the current
system_time(), if the driver reports the played_real_time of its last
buffer exchange (which, if we're restarting media_server, could be
non-zero), we need to just ignore it.

Fixes assertion failures when using usb_audio. And now that we have
this check in here, we can remove the assert from TimeComputer.

Also add a cast in _GetControlName to appease GCC2 while at it.
2024-08-07 20:44:06 -04:00
Augustin Cavalier
940d017a2f mixer: Just use absolute timeouts rather than "scheduling" runs.
Also refactor the logic to not need goto.

The previous design (from 2016) generated an event and wrote to the
control port to queue it, and then the control thread woke up our
semaphore at the appointed time. Rather than have this inefficency,
just use a timeout to the acquire_sem (which is more similar to the
pre-2016 design.)

This should not affect mixer behavior (as we wait for buffers
inside this logic already), it should only reduce the latency
of actual mixer runs.
2024-08-07 20:44:06 -04:00
Augustin Cavalier
a21e32ecc5 mixer: Basic cleanup.
* Remove ERROR differences on DEBUG vs. non-DEBUG.

 * Cleanup checks.
2024-08-07 20:44:06 -04:00
John Scipione
de483e1765 Libpackage: Add HOST_LIBSUPC++ to libpackage and solver
(This is needed to cross-compile on macOS.)

Change-Id: I2b0186e2a9ac09fc332a43808d55fcb2d5ebc86b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7933
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-07 20:17:44 +00:00
Augustin Cavalier
9d694bc9eb multi_audio: Guard against overreads in _GetControlName.
May fix a crash X512 reported.
2024-08-07 14:52:07 -04:00
Augustin Cavalier
fe5fc031dd profile: Report dropped events from the system profiler.
Otherwise there is no indication how many were dropped.
2024-08-07 14:51:38 -04:00
Augustin Cavalier
37201dc1df sdhci_pci: Disable tracing.
Reduces syslog spam. It was already disabled for sdhci_acpi.
2024-08-07 14:50:19 -04:00
Augustin Cavalier
bd05c92198 kernel: Check != not < B_INFINITE_TIMEOUT.
As it's INT64_MAX, so anything "larger" is really overflowed into negative.
2024-08-07 14:49:48 -04:00
Augustin Cavalier
4d2ab928c6 OS.h: Define B_INFINITE_TIMEOUT in hexadecimal.
Makes it clearer that this is INT64_MAX at a glance.
No functional change.
2024-08-07 14:49:05 -04:00
Augustin Cavalier
424abd4d57 BClipboard: Don't wait forever for a clipboard download.
Time out after waiting at most for 10 seconds. After 81e50deece,
this should only happen when the registrar succeeds in sending the
message but we fail in receiving it for whatever reason, so really
this is just a guard against infinite hangs.
2024-08-07 14:45:48 -04:00
Augustin Cavalier
7c4915c1e6 ramfs: Also set type and flags in ramfs_get_vnode.
Necessary for proper functioning after the vnodes were purged
and then re-created on the VFS side.
2024-08-07 14:42:49 -04:00
Augustin Cavalier
b6d006ca91 kernel/fs: Initialize type/flags before invoking get_vnode.
Otherwise, if the filesystem doesn't set them, we will have garbage
values and act wrongly.

This fixes the second KDL and the underlying cause of #18838:
when the system gets into a low memory state, VFS purges unused vnodes.
But of course RAMFS keeps those nodes around. When the VFS went to
retrieve the nodes for reuse, the flags would sometimes randomly
have the "removed" flag set, and the VFS would then try to delete
the node. But of course it wasn't really removed, so we would hit
an assertion failure in RAMFS.
2024-08-07 14:42:15 -04:00
Augustin Cavalier
00908dbb0f ramfs: Minor code cleanup. 2024-08-07 14:38:27 -04:00
Augustin Cavalier
70f7a613af ramfs: Style cleanup in Node.
No functional change.
2024-08-07 11:45:40 -04:00