Commit Graph
68605 Commits
Author SHA1 Message Date
Augustin Cavalier fb0556ae2b BFS: Remove the inode from the Removed list with the transaction lock held.
Fixes #19953.
2026-03-05 15:58:28 -05:00
Augustin Cavalier 26f8f18b1c BFS: Assert in RemovedInodes(), don't just have a comment.
This would've caught the cause of #19953.
2026-03-05 15:56:48 -05:00
Augustin Cavalier 11280e1b51 kernel/device_manager: Remove unnecessary includes of Locker.h. 2026-03-05 13:35:14 -05:00
John Davis 4d75e43574 hyperv: Implement additional driver functions
* Switch instance ID from string to raw attribute
* Implement device allocate/free GPADL functions
* Add definitions and functions for additional VMBus packet types

Change-Id: I01e9a30f567358fad520df95b1c14b7ea9671915
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10402
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-03-05 18:14:42 +00:00
Augustin Cavalier a3fe30c940 kernel/fs: Rename create_vnode to file_create_vnode.
Matches dir_create_vnode. As discussed on the review
for the previous commit.
2026-03-05 13:00:18 -05:00
Jérôme Duval 99fe0add21 kernel/fs: a path ending with slash means a directory
for get_dir_path_and_leaf: the leaf is .
for create_vnode: when a name is ., can't be created.
this means dir_create() can ignore trailing slashes (like #2016)

this fixes golang test TestRootConsistencyCreate/file_symlink_slash

Change-Id: Ib0ee956a8e2d28b572d44ba1be25a6d1341b0dfa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10387
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-03-05 17:53:22 +00:00
Augustin Cavalier 585ac6895e kernel/user_mutex: Let single-threaded applications sleep on mutexes.
It seems some single-threaded applications do use them, which doesn't
result in a deadlock because they use timeouts (or maybe wait on
signals, too.)
2026-03-05 12:46:31 -05:00
X512 02683a08de View: optimize Fill/StrokePolygon with raw points array argument
Converting points array to `BPolygon` has significant cost, including
heap allocation, when drawing a lot of polygons.

Change-Id: I81e6b4031bac4beadcc79412c58eedddffc00a82
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10337
Reviewed-by: waddlesplash <[email protected]>
2026-03-05 02:42:51 +00:00
Augustin Cavalier 7ef695df5c kernel: Allocate user_mutex_contexts when adding the second thread to a team.
This allows us to gracefully fail if memory allocation fails,
rather than panic()ing. If a single-threaded application tries
to wait on a non-shared user_mutex in single-threaded mode, it
will now be dropped into the debugger.
2026-03-04 21:42:03 -05:00
Augustin Cavalier e6569ec320 kernel: Add an AssertLocked() to Team.
The mutex member is private, so this is necessary for other methods
to assert the team mutex is locked.
2026-03-04 21:38:43 -05:00
Augustin Cavalier f1425c9e61 freebsd_network: Include <thread.h> first, to avoid ASSERT incompatibilities. 2026-03-04 21:35:11 -05:00
John Scipione f41b44fa34 Tracker: Place window background images at top-left of extent
... instead of top-left of view bounds.

This only affects backgrounds inside windows (not on Desktop).

The view bounds may be scrolled over but we don't want to draw the
background from the scrolled over position, we want to draw from
the top-left of the window which is the top-left of the extent.

We also have to set the icon origin in the view state to the extent
instead of the view because it will be different if scrolled.

Change-Id: Ieff9d0a66086d116d46ffbd713b2dcd45d312870
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10413
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-03-04 22:42:42 +00:00
John Scipione c91678c156 Tracker: We only need to consider visible poses for extent
... if filtering use filtered pose list instead.

Change-Id: I77c666a6c061a3ac0d1c1174f7bd430ff7ce22c9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10412
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-03-04 22:42:42 +00:00
John Scipione e8633deca7 Tracker: FrameResized() handling only on Desktop
... not on Desktop windows.

Change-Id: I7bcfac19b54fb2b1e94438143403fe6880a3090e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10411
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-03-04 22:42:42 +00:00
Kacper Kasper bd6b50bed7 Refactor Support Kit tests
* Use CPPUNIT_TEST(_SUITE) macros and autoregistration.
* Remove unnecessary header files.
* Consolidate Archivable, Autolock, MemoryIO and MallocIO tests into
  one .cpp file.
* This structure makes it easier to add new tests - from adding .cpp
  and .h + updating Addon.cpp file (3 files), only one .cpp file is
  needed now.
* Convert string_utf8 test from standalone app to CppUnit test.

Change-Id: I18d90eb66b7cfc5576626b66ed85e47eb64547bf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10399
Reviewed-by: Kacper Kasper <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-03-04 17:58:38 +00:00
Augustin Cavalier ff0cd4274c SoftwareUpdater: Move "complete" logic to ProgressApplyingChangesDone.
This is more like how pkgman does it. Behaviorally, users should
not notice a difference.
2026-03-03 17:45:42 -05:00
Augustin Cavalier 61c7d7e4ee Package Kit: Move a number of headers into the source directory.
These classe aren't used, and probably shouldn't be used, outside
Package Kit itself.

Also drop some files from libpackage_build that are not needed.
2026-03-03 17:45:28 -05:00
Augustin Cavalier 5f0f0b02b4 Package Kit, pkgman, SoftwareUpdater: Offer to delete old state directories.
This adds a new job to the Package Kit, and an invocation
in pkgman after changes are applied. The job takes a time_t before,
and an int32 minToKeep, and (after confirmation) deletes all state
directories which were last modified before that time, but also
keeps at least the minimum specified.

pkgman defaults to calling it with (now - 30 days, minimum 10).
SoftwareUpdater does the same, but without bothering the user
and just defaults to doing the cleanup.

Change-Id: I15f5232b11daba5955e7fa07f696ad7785507931
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10404
Reviewed-by: waddlesplash <[email protected]>
2026-03-03 22:14:57 +00:00
Augustin Cavalier 79ab5081b2 Package Kit: Rename InstallationLocationInfo::OldState to ActiveState.
It doesn't refer to some random old state, but the currently active
one. (If the currently active state is the default one, then it will
return nothing.) So, this should make things clearer.

Change-Id: Ib3fe842f5fb51eaf2ef2f31bad8b292b47a3fb36
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10403
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-03-03 22:14:57 +00:00
Humdinger 1b43451034 Fix build. Renamed ProviderInfo disroot.org.rdef
Turning one simple commit in to three. What an embarrassment…

Change-Id: I482b806100acd890f17d7a8523a89931d75dacce
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10407
Reviewed-by: waddlesplash <[email protected]>
2026-03-03 14:37:54 +00:00
Humdinger 7c2ea2e950 Add Disroot provider info to jam file
…forgot that one in the previous commit. Sorry.

Change-Id: Ib27442c0b8322320f162a4b73592b8118166b02f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10406
Reviewed-by: humdinger humdinger <[email protected]>
2026-03-03 07:57:38 +00:00
Humdinger 4891afb99e Add Disroot.org to email ProviderInfo
Change-Id: I197c8f69bea09a644381e4dd6bec61c07f001b0e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10405
Reviewed-by: humdinger humdinger <[email protected]>
2026-03-03 07:55:14 +00:00
Augustin Cavalier 418769d64b BResources: Mark deprecated methods _DEPRECATED. 2026-03-02 21:11:39 -05:00
Augustin Cavalier dc4a606f5e Clock: Use BResources::LoadResource instead of FindResource.
The latter is deprecated.
2026-03-02 21:11:23 -05:00
Augustin Cavalier f071ee419d BMimeType: Use the new _DEPRECATED to mark SetType deprecated.
This is the first use of this new macro.
2026-03-02 21:03:25 -05:00
Augustin Cavalier a3be73a455 BTokenSpace: Add cast to appease GCC2. 2026-03-02 20:35:01 -05:00
Augustin Cavalier 9e3e304057 BLocale: Name the BLocker. 2026-03-02 20:22:14 -05:00
Augustin Cavalier b6441edfac BLooperList: Use rw_lock.
Improves efficiency, as some functions can use a read lock
instead of a write lock.

Eliminates another statically-created BLocker.
2026-03-02 20:17:51 -05:00
Augustin Cavalier 5eef2f1d00 BTokenSpace: Use pthread_mutex instead of BLocker.
This header gets included in the build platform, so we can't use
the private recursive_lock.

Eliminates another statically created BLocker, due to gDefaultTokens.
2026-03-02 20:16:32 -05:00
Augustin Cavalier f9850b561c kernel/user_mutex: Panic instead of failing due to OOM.
This is not an expected failure condition for most applications,
so try to avoid propagating it to userspace.

(If necessary, it should be possible to avoid even the possibility
of this by just allocating necessary datastructures upfront
instead of "lazily". But that seems unnecessary at the moment.)
2026-03-02 19:38:26 -05:00
Augustin Cavalier ae70142168 BBlockCache: Use a pthread_mutex instead of BLocker.
The lighter "struct mutex" is in a private header, so we can't
inline it in a public one, so just use pthread_mutex here.

By adjusting padding, the class size stays the same (72 bytes
on 32-bit, 96 bytes on 64-bit; confirmed via static_assert.)

A quick benchmark running "new/delete BMessage" in a loop on 4
threads at once goes from 30-36 seconds before this commit
to around 13-17 seconds, sometimes as low as 3 seconds, afterwards,
so clearly this is a significant improvement.

This also eliminates another BLocker allocated on application startup.
2026-03-02 19:37:13 -05:00
Augustin Cavalier 184b57aa71 BBlockCache: Rewrite header for style. 2026-03-02 18:01:56 -05:00
John Davis 65fdc967c8 hyperv: Fix improper interrupt cleanup
Change default interrupt value to be invalid, current default is a
valid interrupt on x86 platforms.

Change-Id: Ieecf7bcbc6b0aeb4fe62a505ae9765c73ecaa74c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10401
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2026-03-02 17:33:22 +00:00
John Davis 36021a5a3d hyperv: Check for required features during VMBus probing
Some hypervisors claim to implement/advertise Hyper-V i.e. Xen and
VirtualBox. Check for all required features when probing to prevent
loading on hypervisors that do not fully comply with Hyper-V
specifications.

Change-Id: I7c1188a433cad5eff91dcffe9520a55926d0f4b5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10400
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-03-02 17:33:22 +00:00
Fruit De La Passion f0fd023b4b drivers: Enable Werror for kernel driver add-ons pty, sensor, timer.
* Activate Werror
* Part of ticket #9460

There seems to be no related warnings. Hence, there are no further changes.

Change-Id: I2bee39eaa90cbe3805f5c79725e6f622368fcac9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10398
Reviewed-by: nephele nephele <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-03-01 08:50:27 +00:00
Augustin Cavalier 8cc48bf580 QueryParser: Don't divide by zero on empty attributes.
Fixes a KDL.
2026-02-28 22:16:43 -05:00
Augustin Cavalier f3fd885731 Game & Media Kits: Avoid some usages of static BLockers.
Saves some semaphores.
2026-02-28 22:16:15 -05:00
Augustin Cavalier 4d055d982a BGameSoundDevice: Cleanup.
* Use new-style header comments.

 * Put globals inside class or make static, instead of exporting
   unnecessarily.
2026-02-28 21:52:05 -05:00
Augustin Cavalier 6a4a02907a EHCI: Disable the physical buffers logic, at least for now.
It seems it may have caused serious regressions on some hardware,
see #19949 and #19945.
2026-02-28 20:34:12 -05:00
Augustin Cavalier 4d9bb0a399 LaunchBox: Style cleanup after previous change. 2026-02-28 20:31:30 -05:00
Pascal Abresch 234a85bb17 launchbox: remove ::Pulse, simplify settings storage
Change-Id: Ie1a6ccb083498f7405909911e4f202ee11a8ac0b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9878
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: nephele nephele <[email protected]>
2026-02-28 20:23:21 +00:00
John Scipione 8d82659f43 Tracker: Fix Desktop window vs. actual Desktop menu items.
Fixes menu item portion of #19947.

Change-Id: If6e55eb16649d54008056b451d5e57e2dcd52c1c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10395
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-02-28 13:20:52 +00:00
John Scipione 1d20c1fb5c Tracker: Disallow background image on Desktop windows.
Custom background image is disallowed on the Desktop folder and Root
aka "Disks" folder. However, you may use a default background image.

We store the background image on the node, Desktop window and the
actual Desktop share the same node so we have to explicitly disallow
background images from showing on Desktop windows.

Make UpdateBackgroundImage() protected.

Remove unused BDeskWindow::UpdateDesktopBackgroundImages();

Handle all background image code in ContainerWindow. BPoseView calls
its window if targetted to update its background image.

Fixes Desktop background portion of #19947.

Change-Id: I4b104340b5a69807961b99bde7b0455d7d58065a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10392
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-02-28 13:20:52 +00:00
John Davis 0c6100feb2 Implement initial Hyper-V support on x86 platforms
Haiku currently does not have any form of Hyper-V guest support, and
this change begins work toward #16664.

This change implements initial VMBus bus/device structure and functions.

Change-Id: I2d081f55e99da479d9bc5084f1815ade6cc77fe2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10333
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-02-28 10:00:04 +00:00
vighnesh-sawant b097619769 netresolv: Add support for AI_V4MAPPED in ai_flags in getaddrinfo
Ports over the following commits from FreeBSD:
https://github.com/freebsd/freebsd-src/commit/b848a37d4eddb432629a799713cf6fb6f0fd8c3c
https://github.com/freebsd/freebsd-src/commit/2cff354f1a56af10ad02164a9ee38c013ac80688

Fixes #14323.

Change-Id: If75642a45fc76b50d4377e5a11cdb1ee64ab40ab
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10396
Tested-by: Commit checker robot <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2026-02-28 09:59:06 +00:00
Autocomitter cdc0044398 Update translations from Pootle 2026-02-28 08:10:06 +00:00
John Scipione a89c4cc6e9 Tracker: Revert SortPoses() change from hrev59185. Fixes #19946.
Change-Id: I0d4ab3a15c13ad1dd81b52a6f588d2ed09772a4d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10394
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-02-27 21:14:42 +00:00
John Scipione 4021001fa2 Tracker: Pedantic attrHash int32 => uint32 type fix.
Should have no practical effect.

Change-Id: I5160e8a670c9f36c00d513e60e519148406e1715
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10393
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-02-27 21:14:42 +00:00
Kacper Kasper dfa51c4fb8 Don't add extra packages to test image
* Test inherits from minimum target.
2026-02-27 20:09:37 +01:00
Fruit De La Passion 0f5086ade4 wmi: Enable Werror for kernel driver add-on wmi
* Activate Werror
* Part of ticket #9460

There seems to be no related warnings. Hence, there are no further changes.

Change-Id: If19794a5c6294f621360fcc0e58dc7fd8551d5db
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10391
Reviewed-by: Jérôme Duval <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-02-27 15:30:52 +00:00