Commit Graph
68161 Commits
Author SHA1 Message Date
John Scipione 142022d4c8 Appearance & Terminal: Cleanup cruft and fix minor style issues.
Change-Id: I1b1d50763f2058870d5cfd1600f6f67f0b4733f5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9778
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-11-11 17:03:00 +00:00
Jérôme Duval b739532218 POSIX: add ffsl and ffsll from musl sources.
appeared in issue 8:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ffs.html
Change-Id: Ic382498c3e2d6138aedbeb88578882457ee875ee
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9836
Reviewed-by: waddlesplash <[email protected]>
2025-11-11 16:50:29 +00:00
Jérôme Duval 11d8ab2a71 kernel/socket: recv/send should accept a NULL buffer with a zero length
for instance on udp and unix datagram sockets.

Change-Id: I010faf1147b0e6b3d89aa47b1f846f3b948008fc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9780
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-11-11 11:04:38 +00:00
Jérôme Duval 91acc3028f kernel/team: use child-forked thread signal_mask
when creating ThreadCreationAttributes. Otherwise defaults to zero.
this fixes golang TestForegroundSignal.

Change-Id: I98e372d2e89ca9ea4bd65e5017b732023a811143
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9816
Reviewed-by: waddlesplash <[email protected]>
2025-11-10 22:07:25 +00:00
Jérôme Duval 4e7b65c689 kernel/team: exec_team() is now allowed with other threads
these other threads are killed. This match with the POSIX description:

"A call to any exec function from a process with more than one thread
shall result in all threads being terminated and the new executable image
being loaded and executed. No destructor functions or cleanup handlers shall be called."

Change-Id: I55c25d2e785e25d444f63c646d901d64e6333750
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9799
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-11-10 21:34:23 +00:00
nipos 9691bc57d2 notification_server: Immediately change notification position on preferences change
Fixes #15547

Change-Id: I74f33c3a549e79992885cc85c30fbc4ecaf2d504
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9759
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: nephele nephele <[email protected]>
2025-11-09 17:02:47 +00:00
Oscar Lesta b98a74c912 Terminal: only sync clibpoard for the initial tab.
Fixes a regression introduced in hrev59090 (see ticket #19780).

Change-Id: Iabced47d8a4cab907eb379d71533350f820c55c5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9779
Reviewed-by: Jérôme Duval <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-11-08 18:41:41 +00:00
Andrew Lindesay a05bcfe24e HaikuDepot: Fixes for pkg view and network
This change addresses a number of issues around the synchronization
of data from the server when the user is viewing a package.
Handling of issues when the server is not network accessible is
improved. The user is also given the option is disable network
communications as problems are reported to them.

Resolves #19802

Change-Id: Iaa8214ba279a6bbf0f196643468d0f86a23ead1c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9714
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2025-11-07 09:40:43 +00:00
Jérôme Duval 9003873f8b network/stack: handle SOCK_SEQPACKET
Change-Id: Ic97783fc79dfbeaed07246366ca49b17a879feb8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9776
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-11-05 21:12:18 +00:00
Jérôme Duval df31a4abfa strace: dump setsockopt/getsockopt
Change-Id: Icd54603fa96ec27c6bd43b19434f5a3a0af5849e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9774
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-11-05 21:12:18 +00:00
Jérôme Duval 8956939c43 strace: dump stat structure
Change-Id: I816d4c5cf844e844cde373278505c4e55f90a42b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9766
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-11-04 07:39:15 +00:00
nipos 817ac9c240 NetworkStatus: Add support for installing the replicant while window is open
Fixes #15262

Change-Id: I86d2f05896a82baf076ace1006030e85f33ee483
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9769
Reviewed-by: John Scipione <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-11-03 17:48:33 +00:00
Oscar Lesta b238dfa0f9 ActivityMonitor: fix Temperature presentation if no sensor is available.
On machines with no acpi_thermal sensor, enabling the thermal readings
was showing the value as "-2.077.252.342 °C".

Let's show "No thermal sensor" / "0 °C" instead.

Change-Id: I4ba74e648b8826635cb4f4145540c833d1058220
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9764
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2025-11-03 17:39:37 +00:00
nipos abb6b4896e BListView: Fix keyboard navigation after new items are added
Fixes #15446

Change-Id: If6e5fbf53076277df949e67e766fc9ff774b5c64
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9768
Reviewed-by: John Scipione <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-11-03 03:52:52 +00:00
nipos 7f3fee8e94 libshared: Fix CalendarView return values for Year(), Month() and Date()
Fixes #15397

Change-Id: If7d9908d6b3cb3caf1e5678aca859f8902e44038
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9767
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: John Scipione <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-11-03 03:52:52 +00:00
Oscar Lesta 61f89fbfcf libuserlandfs_fuse.so: add a stub for fuse_get_session().
This allows to build the sqshfs fuse module that is part of:
https://github.com/Gottox/sqsh-tools

With this change in, I'm able to mount a >200 MB squash file containing
the Linux sources.

Change-Id: I8ae37cfa376d96c1985776f9731988a4cf96c431
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9765
Reviewed-by: waddlesplash <[email protected]>
2025-11-01 19:17:34 +00:00
Augustin Cavalier 21e1997980 kernel/vm: Previously-shared caches may have a different base or size.
Than the one used by the area, anyway, so we need to call Rebase
as well as Resize in all cases where the cache is getting reused.

This case happens (rarely) with the bdwgc's gctest, with mprotect VBD
enabled (which still doesn't work reliably, it sometimes crashes userland
or trips asserts in the kernel, but it seems to trip less after this
change.)

Also, let the CacheChainLocker take care of releasing and unlocking
the cache even in the onlyCacheUser case.
2025-10-31 21:55:57 -04:00
Augustin Cavalier ce88914d78 libroot/malloc: Need to set active inside malloc_usable_size.
Otherwise we'll hit assertions later.
2025-10-31 20:58:01 -04:00
Augustin Cavalier 2d03a444ad BColumnListView: Fix column header color management.
* Use the control color, which is what DrawButtonBackground expects
   to get the previous appearance.

 * Actually use the HEADER_BACKGROUND color from the main view,
   which previously was not used at all, allowing applications
   to override.
2025-10-31 19:51:51 -04:00
Augustin Cavalier 50efce8a80 Tracker: Fix column header background color after control color changes.
BControlLook::DrawButtonBackground now expects the control color
directly, not the panel background color.

Restores the previous appearance (or one close to it) from before
the control color changes.
2025-10-31 19:50:33 -04:00
Augustin Cavalier 4b35628556 kernel/vm: Clarify logic and fix ReleaseRef invocation in map_backing_store.
sourceCache is now only != NULL if it represents the "cache"'s source.
And "cache" will always be locked when we get to "err2", so we need
to use ReleaseRefAndUnlock.

Should fix #19810.
2025-10-31 17:36:04 -04:00
Augustin Cavalier 6831a05164 kernel/fs: Fix mismatched allocation/free in vnode_path_to_vnode.
Should fix #19811.
2025-10-31 15:22:10 -04:00
Augustin Cavalier 960caad380 Application Kit: Account for empty BRegions in LinkReceiver.
Fixes #19799.
Supersedes https://review.haiku-os.org/c/haiku/+/9744.
2025-10-30 23:15:10 -04:00
Augustin Cavalier cb311484f4 kernel/guarded_heap: Release initial cache reference later.
It may trigger allocation of magazines in the object_cache,
which won't work properly while we are in a partially-initialized state.
2025-10-30 23:10:20 -04:00
Augustin Cavalier 14d2f03b3d kernel/vm: Add an ASSERT(wiring != B_ALREADY_WIRED) to create_area.
Creating areas with B_ALREADY_WIRED is done early in the boot process
after VM initialization to create area objects for pages that have
already been allocated and mapped. As such, it should absolutely never
fail, since nearly everything should already have been set up.

But if it does fail, that almost certainly means it either should not
have been called in the first place, or there is some sort of invalid
state. Testing with ARM64 builds, this assertion trips, revealing
that the kernel is actually being placed outside of the declared
KERNEL_BASE+KERNEL_SIZE at present.
2025-10-30 22:42:58 -04:00
Augustin Cavalier d91b1f9f70 libsolv: We need _DEFAULT_SOURCE not _GNU_SOURCE. 2025-10-30 22:39:40 -04:00
Augustin Cavalier 7af0ffd31c Terminal: Drop incorrect declaration.
BColorPreview is in a different namespace now.
2025-10-30 22:39:27 -04:00
Augustin Cavalier 4615980f9b libroot/malloc: Don't use PROLOGUE/EPILOGUE in malloc_usable_size().
To appease a GCC warning and a Clang error about an incorrect
return type from those macros.
2025-10-30 22:38:51 -04:00
Augustin Cavalier 5f6852d862 libroot/glibc: Import changes from upstream to remove inline function in printf_fp.
Clang does not support this extension.
2025-10-30 22:37:51 -04:00
Augustin Cavalier 515f50d1f7 libroot/glibc: Add declarations of debugger() and abort() to appease Clang. 2025-10-30 22:37:22 -04:00
Augustin Cavalier 5769051834 kernel/vm: Drop methods used only by the old guarded heap.
They're not needed anymore. The VMTranslationMap method was confusingly
named anyway, as the other Debug* methods are for use in KDL, while
this one required the regular locks and flush mechanisms.

Change-Id: Ic1baf3d786071562d8beaeb768d996cd1d34f9b7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9706
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-31 02:36:19 +00:00
Augustin Cavalier d36a3e286b kernel: Rewrite guarded_heap.
Compared to the old kernel guarded heap, this new one:

 * Uses VMTranslationMap and related APIs directly, rather than
   indirectly through the "protection cookie" system. This means
   those custom APIs, which nothing else except the guarded heap
   used, can now be dropped.

 * Does not allocate vm_pages for guard pages, and frees vm_pages
   when not in use. This means that DISABLE_MEMORY_REUSE is much
   more usable now, as it only does not reuse virtual memory,
   allowing for much longer-running systems.

 * Uses trees to manage meta chunks. This avoids unbounded growth
   of the meta chunk count, especially under DISABLE_MEMORY_REUSE.

 * Handles page faults directly and prints information about the
   fault address/allocation automatically.

The system still boots and runs fine with this new guarded heap,
including under USE...FOR_OBJECT_CACHE.

Change-Id: If85e5689a47088790287990c881364fcde4cc76d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9705
Reviewed-by: waddlesplash <[email protected]>
2025-10-31 02:36:19 +00:00
Jérôme Duval 90fa6d12f0 kernel/team: move check in setpgid()
return earlier when the target team is a session leader
(even when the old and new process groups are the same ).

Change-Id: I0b06787f9a12948c7a0722c13819f32415a3cddf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9762
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-30 07:30:43 +00:00
Jérôme Duval e0ccf1d924 POSIX: add CMPLX(), CMPLXF(), CMPLXL()
appeared in issue 8:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/CMPLX.html

Change-Id: I037e7368611e201df28589172f926e7a9fc52be2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9758
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-30 07:30:43 +00:00
John Scipione 8c7f77a0b2 Tracker: Limit hit rect to the icon and label in icon mode
(and mini-icon mode).

This fixes a regression from R1B5 allowing you to click on the blank
area to the left or right of the icon of a file with a long filename
to select it. You once again have to click on either the icon or the
label to select the file.

Fixes #19753

Change-Id: Iae8b7c4561f2bfdda1361d4bbee4e87ecde2bb06
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9745
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-10-30 03:51:10 +00:00
Niklas Poslovski f1b6352dcf Playground: Avoid cutting off the scroll bar by calculating size properly
Fixes #17990

Change-Id: I97d328d26e97b7808e02c1edf1c95a0514e85d68
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9359
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-29 17:58:38 +00:00
nipos 28e386faaa Installer: Don't replace Quit button with Begin when quitting DriveSetup after installation
Fixes #15677

Change-Id: I6c6783641ba79b70cad96916ca38f7bf58568241
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9746
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: John Scipione <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-29 17:58:01 +00:00
Jérôme Duval 7fc80d5509 kernel/team: setpgid() should check the target team
the target team should be the calling process or a child process of the calling process.

Change-Id: I3c365268aea0ab54ab70ae6ae50e00d8ca949332
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9757
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-28 07:22:32 +00:00
Jérôme Duval 8da1843374 kernel/signal: send_signal_to_process_group() leaks a group reference
* this fixes a few tests of sortix/os-test/process.

Change-Id: Ia20fd9c6e18919ce3c09d1886899f5ef547a2af8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9756
Reviewed-by: waddlesplash <[email protected]>
2025-10-27 19:20:58 +00:00
John Scipione a6432a2ba0 Tracker: FilePanel Redirect file panel delete shortcuts to pose view.
Fixes #19717

Change-Id: If53505fc83be09c2fca9b03cd582bfc75f58765b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9608
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: John Scipione <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-27 18:31:23 +00:00
John Scipione b5f002d66f Tracker: Add "Edit query" and "Close all in workspace" to Query window
Fixes #19759

Change-Id: I547e38c46c2f9abf369a0278b433fa01ac911477
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9666
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-27 18:24:26 +00:00
John Scipione 17a87a2077 Tracker: Add Disks to Desktop nav menu if "Show Disks" setting is on.
Rename AddRootItemsIfNeeded() to AddVolumeItems().

Fixes #19720

Change-Id: I866b7364012b2d267809d9f49059ef531ec4a24f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9741
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: humdinger humdinger <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-27 16:28:45 +00:00
nipos 2eae07f9c4 libshared: BarberPole needs B_FULL_UPDATE_ON_RESIZE to avoid drawing artifacts
Change-Id: I7e7ad4ada71e1e6465fad9250f89cffe2fe1fd94
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9736
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-10-27 15:48:34 +00:00
nipos 6bf20bf562 Terminal: Sync mouse clipboard with system clipboard at start
Fixes #19780

Change-Id: Ifcd178de84f9161dccd42a9ec11797046eb9dc8e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9718
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-10-27 15:36:27 +00:00
Oscar Lesta e2dde32d11 libuserlandfs_fuse.so: Put the root node in unmount.
I was testing a 3rd party fuse exFAT module, and on unmount, I was
getting the same assert failed as in #19734.

This change solves it in a similar way.

Change-Id: I2939d1609d6d96ce131a80ae26cbb92f77a75b34
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9743
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-27 15:34:58 +00:00
John Scipione a20098f186 libsolv: Define HAVE_STRCHRNUL on darwin
src/libs/libsolv/solv/repodata.c:246:27: error: static declaration of
'strchrnul' follows non-static declaration
  246 | static inline const char *strchrnul(const char *str, char x)

Change-Id: I4a93b1c361ba32d3984567ca24bd1d473a252555
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9740
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-27 15:33:41 +00:00
PulkoMandy 9740fce419 ActivityMonitor: allow to display temperature from acpi_thermal
Change-Id: I658abc2c90e28c8704e6d09900095f0ae1c7665d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9698
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-10-27 12:48:11 +00:00
PulkoMandy b543cfa664 acpi_thermal: implement B_GET_DEVICE_NAME
Get the name from the _STR method of the ACPI object.
Convert from UTF16 as needed.

In cases where the ACPI implementation provides multiple zones, this
allows to differenciate them.

Change-Id: If349207dcfd22cc9c3baf50b8f8d63d56dc62f21
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9739
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-27 12:48:11 +00:00
PulkoMandy f80d1b0293 kernel/util: make convertutf available to C code
No reason to make it C++-only

Change-Id: Ia9c1aff68876fd0d9a4bcf82d69f5e6ec6878ca0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9738
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-27 12:48:11 +00:00
PulkoMandy 8ded2fd4bc sdhci: replace panic by trace.
Command execution will still be rejected, but it should not bring down
the entire system.

Change-Id: If6f0921706e0ed2a7c4d21da636419dc69ed77d7
2025-10-26 17:46:49 +01:00