Commit Graph

61374 Commits

Author SHA1 Message Date
Michael Lotz
4e2b49bc0c kernel/vm: Implement swap adoption for cut_area middle case.
Rename MovePageRange to Adopt and group it with Resize/Rebase as it
covers the third, middle cut case.

Implement VMAnonymousCache::Adopt() to actually adopt swap pages. This
has to recreate swap blocks instead of taking them over from the source
cache as the cut offset or base offset between the caches may not be
swap block aligned. This means that adoption may fail due to memory
shortage in allocating the swap blocks.

For the middle cut case it is therefore now possible to have the adopt
fail in which case the previous cache restore logic is applied. Since
the readoption of the pages from the second cache can fail for the same
reason, there is a slight chance that we can't restore and lose pages.
For now, just panic in such a case and add a TODO to free memory and
retry.

Change-Id: I9a661f00c8f03bbbea2fe6dee90371c68d7951e6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2588
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-08 21:56:56 +00:00
Michael Lotz
6dc4e9d72e kernel/vm: Factor out condition for cache resizing in cut_area.
Change-Id: I2c49b550f72b9778934abbf90a04579caa7b43f2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2587
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-08 21:56:56 +00:00
Michael Lotz
65598ca615 kernel/vm: Inherit the temporariness of source cache on split.
Otherwise pages from it would later be tried to be written back with
nowhere to go in case of temporary caches.

Change-Id: I81e7335408c419a9b2c7bbb31290d551f5508d56
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2586
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-08 21:56:56 +00:00
Michael Lotz
d2dd287e5e kernel/vm: Use already determined priority in middle cut_area.
Change-Id: I4dd677a0f1378f4fa483502124bea70ad7ba40c0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2585
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-08 21:56:56 +00:00
Michael Lotz
f626525071 VMAnonymousCache: Fix use after free when freeing partial block.
When only some initial slots of a block were filled, the block would
become unused early and get freed. The iteration for the remaining slots
would then operate on the stale swapBlock as the pointer was not reset.

As we already know that the remaining slots can't be in use, directly
skip to the next swap block to avoid needless hash lookups.

Change-Id: Ib25377beb092aaf3533de1786b5f4c1099464599
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2584
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-08 21:56:56 +00:00
Michael Lotz
315a581cd6 VMAnonymousCache: Fix off by one in page freeing on resize.
The pageIndex is incremented on loop, so rounding up to the next swap
block would skip the first entry of the next block which would leak its
swap slot.

Change-Id: Ief3d29e711d323756034ea5ba6e300c489198aff
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2583
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-08 21:56:56 +00:00
Michael Lotz
1702afeb88 VMAnonymousCache: Factor out page freeing from Resize/Rebase.
Except for the offsets the code was identical. Also simplify the
conditions with early returns.

Change-Id: Ia7c44578ab06e571f6bf992db6c6d3493fd93230
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2582
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-08 21:56:56 +00:00
Hamish Morrison
c6657ffe02 Resize caches in all cases when cutting areas
* Adds VMCache::MovePageRange() and VMCache::Rebase() to facilitate
  this.

Applied on top of hrev45098 and rebased with the hrev45564 page_num_t to
off_t change included.

Change-Id: Ie61bf43696783e3376fb4144ddced3781aa092ba
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2581
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-08 21:56:56 +00:00
Justin Stressman
905284b397 Add examples to checkfs help output.
Fixes #11075
2020-05-08 19:35:53 +02:00
Adrien Destugues
1826e60db5 Do not locate DeskBar window by its name
The name changes when translations are enabled. Use the index instead.

Fixes #8982.

Thanks to X512 for catching the problem!

Change-Id: I3c4e943f8476e46e7378a50e83a7758f694a8dc0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2606
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-08 14:03:03 +00:00
Adrien Destugues
2dc597d50d Optimize ffs() implementation
- Use gcc builtin
- Define as a static inline function in the .h so no function call overhead is needed
- Keep the function in libroot for backwards compatibility
- Remove a duplicate implementation in the freebsd compatibility layer

gcc2 does not document the builtin, but it is in fact already available
there as well.

Fixes #3281.

Change-Id: I94f8a2548637aa70e85febbfab06f07c1a427005
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2605
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-08 14:01:53 +00:00
Niels Sascha Reedijk
0cc9a12ae0 Installer: fix an issue where file attributes were not copied
The issue was introduced when the original CopyFile() and CopyFolder() methods
were integrated into a single recursive Copy() method in
bf551d3889

The installer originally followed the principle that attributes are not copied
for target directories that already exist. Unfortunately the new logic to
filter out that case disables attribute copying in recursive calls of this
method, thus breaking things like bookmarks and tracker templates.

Fixes #15913

Change-Id: I0dfe5ce30fdc78cfd4e3695b4b4e8c23b4848100
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2600
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: leorize <leorize+oss@disroot.org>
2020-05-08 13:00:04 +00:00
Autocomitter
362f1bd35b Update translations from Pootle 2020-05-08 12:15:28 +00:00
Adrien Destugues
20f2ebae4b Remove MouseDownThread and its usages
This code comes from an old Be Newsletter and since then the API
received the addition of SetMouseEventMask. In several places the
MouseDownThread was misused: it would spawn a new thread on every mouse
click and not clear the previous one. This could for example lead to
BSpinner skipping values if you clicked it at the right speed.

There are functional changes in BSpinner, before it updated for the
first time 100ms after mouse down, and then as you moved the mouse
around the button, now it activates immediately on first click and then
every 200ms (which may be a bit short). In other places, no functional
changes intended.

Change-Id: Ie600dc68cbb87d1e237633953e5189918bf36575
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2599
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-07 22:08:23 +00:00
Sergei Reznikov
7bf88c5132 Enable KeymapSwitcher automatically for some locales.
Change-Id: Ie3b49be07dd02227850cb0d7d2a7befca7992668
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2597
Reviewed-by: Sergei Reznikov <diver@gelios.net>
2020-05-07 22:07:58 +00:00
Emir SARI
5f7045a37b Enable "Accept First Click" (supplementary)
The setting still fails to set "Accept First Click" by default. So
hopefully this commit fixes it once and for all.

Change-Id: Ia8d2a1fdf575a524d675fcd8692a86677c9f4e22
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2601
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-07 22:05:46 +00:00
Jérôme Duval
a94c4e5abf HaikuImage: add acpi_als
Change-Id: Iae4e9ddee1c6fcaba485470469e24fdf48bee661
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2579
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-06 15:03:12 +00:00
Emir SARI
3eb9476f43 Enable "Accept First Click" (supplementary)
As Axel mentioned, there is one more value to be changed. It should be
complete now. Ticket: #15953

Change-Id: Ibe09beb6a434f1572c5b3b3dfd7fced3b2af5935
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2580
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-05 23:48:26 +00:00
RudolfC
ecab567301 Updated gfx kerneldrivers for clonable framebuffers. 2020-05-05 21:42:39 +00:00
RudolfC
2587f6d1cc Allow gfx drivers framebuffercloning, for i.e. videonode BBufferGroup::AddBuffer. 2020-05-05 21:36:42 +00:00
Michael Lotz
1705082fa2 usb_midi: Fix 32 bit build. 2020-05-05 21:23:44 +02:00
Adrien Destugues
9792465ec1 usb_midi: avoid crash if trying to write a partial MIDI event
thanks to nilsding for investigating!

Fixes #15562.

Change-Id: I014769afb507881f14f69fb1cd65215dc52920c6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2048
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2020-05-05 09:26:26 +00:00
Emir SARI
ffd6da1724 Enable accept first click by default
Change initial setting as well.

Change-Id: I8dadde139f9c38ee7fa74ce99f0e616c42d9eb81
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2563
Reviewed-by: Sergei Reznikov <diver@gelios.net>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-05 00:54:47 +00:00
John Scipione
b2c7798765 Appearance prefs: Draw FakeScrollBar with BControlLook
... new scroll bar drawing methods.

Change-Id: I3f88f5a367142cbbd55e651793fff894d7c66508
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2578
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-05 00:49:13 +00:00
John Scipione
494e256474 BScrollBar: Redraw scroll bar button on click
DrawScrollBarButton passes B_ACTIVATED flag to HaikuControlLook which
draws the button as down.

This regression was introduced in hrev54032.

Fixes #15960

Change-Id: I87dbaa9e8c9169c67dd7cb463d3604d9727ae28f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2577
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-05 00:49:13 +00:00
Leorize
5c63c64bfd net_socket: getpeername now only works on connected socket
Per POSIX.1-2008, getpeername() shall fails if the socket is not
connected.

Fixes #15081

Change-Id: Iafaed09df26f47b10efc2ceed6dfa2852857d39a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2549
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-04 07:33:42 +00:00
Augustin Cavalier
27ecd4761c build: More miscellaneous fixes for MSYS.
Remove the .exe hack, as it is not needed.
2020-05-03 19:31:22 -04:00
X512
b7c0f682e4 BListView: fix ScrollToSelection
When selection moves down, BListView was sometimes scroll to upper item,
not lower.

Change-Id: I8f3cf87d43e93c3d2cabfd7ca76f44f1575525e0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2311
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-03 19:38:57 +00:00
Adrien Destugues
325ca7f19c mkdos: some style cleanups
Change-Id: I943b202f0a745d623aa76417ea2090b4becb0ac4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1322
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-03 19:16:17 +00:00
Niels Sascha Reedijk
765a734ad4 Add signature to libmedia.so.
Also remove superflous data from libpackage.rdef

This should fix #15958

Change-Id: I76991030541dca12a2dfdd9282f02274a461ed2a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2561
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-03 18:55:57 +00:00
Augustin Cavalier
7a617f59fd configure & build: Add basic support for building with MSYS.
Also remove the MINGW support, as it was far too incomplete.

This *should* work under case-sensitive NTFS, but instead,
it seems #14963 occurs. So perhaps there is a GCC bug
related to case-sensitive vs. case-insensitivity after all.
2020-05-03 13:24:26 -04:00
Adrien Destugues
c39f9cc827 SoftwareUpdater: fix crash on exit.
Don't delete or Quit() a BWindow, it can do so by itself. Also, do not
rebuild a BMessenger everytime we want to message a window, that defeats
the purpose. There are still places where the UpdateManager calls
functions from the window object directly however, ignoring the fact
that the window may have been closed.

Fixes #13653.

Change-Id: I868e94a07d9617f343332ea00d35ffd92e60ed8e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2552
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-03 15:48:19 +00:00
Adrien Destugues
d0e1eb7a7b mark abort() function as noreturn.
It was not specified as such before C11, but that's only because there
was no C standard way to do it until then.

Fixes #15955.

Change-Id: Ied7b7fd94988ed7724460917aebc859b74eaa585
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2558
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-03 15:42:41 +00:00
Adrien Destugues
3268566c20 Input: fix infinite loop
Right shift on a signed value can extend the sign bit, which would make
this function do an infinite loop if passed a negative value. Use an
unsigned instead to get the behavior we want.

Fixes #15957, but this means we're using undefined data from the
settings file. I assumed it would have the unused button values set to 0
but this isn't apparently the case. Preetpal is already working on that
as we noticed the problem when testing her patch for adding a 6th
button.

Change-Id: I62fdc778ff3b9da92f3aa5570163dc60baf8cf2c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2560
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-03 15:41:49 +00:00
Rene Gollent
28b3438ecd adding disable_ide_dma true in the kernel settings file
From a quick look, the ATA driver only looks to safe mode settings for
that, and not the kernel file. The attached patch should address that.

ticket : #10253

Change-Id: I5e5c2474fecbd441a36a3600f7f16a964e0945dd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/56
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-03 13:22:31 +00:00
Andrew Lindesay
1f3909ade1 HaikuDepot: Referencable Fixes
Some misuse of BReferencable / BReference are causing the
debugger to fire while debugging another issue.  This
should fix some of it.

Change-Id: I895e209afe9e350e35b111739140c85133107227
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2556
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-03 09:47:43 +00:00
Adrien Destugues
92290d9bc3 ffmpeg: return B_LAST_BUFFER_ERROR when decoding completes.
Fixes #13622.
Fixes #14773.
Fixes #15220.

Change-Id: I2c20b421d25b450714209f4f4f4205d61145e615
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2551
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2020-05-02 18:47:41 +00:00
Jérôme Duval
12bd6e12a2 mmap: using PROT_NONE usually means the memory isn't actually used.
A program can mmap virtual memory which will only trigger signal handlers.
This is for instance needed for ASAN.

Change-Id: I4a42b4860b5acab17465683e9cf73c486bea7d40
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2554
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-02 18:07:27 +00:00
Jérôme Duval
65b777592a Move the heap reservation higher on 64-bit platforms.
this is required for AddressSanitizer to operate correctly, see
https://github.com/google/sanitizers/wiki/AddressSanitizerAlgorithm#64-bit
Change-Id: I0ab95980f8f869b3171f9cd5f9197dcee5464e06
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2555
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-02 18:07:08 +00:00
Jérôme Duval
86ff706f30 tcp: set is_connected flag on our socket without parent too.
a client non-blocking socket would otherwise looks non connected.

Change-Id: I077c0b61a5dbaa8df350185c8a9259fd81dab342
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2553
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-02 18:06:56 +00:00
Adrien Destugues
96240a75f1 FirstBootPrompt: fix a typo 2020-05-02 12:36:49 +02:00
Autocomitter
13cb3249a7 Update translations from Pootle 2020-05-02 08:57:54 +00:00
Adrien Destugues
5c1b8016d3 FirstBootPrompt: smarter keyboard layout selection
Change-Id: I6501f8a697039c4c4d600d544e0ce6659d2b5dfe
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2539
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-02 00:54:48 +00:00
Adrien Destugues
5c2709cdd5 Firstbootprompt: remove flags from languages.
http://www.flagsarenotlanguages.com

Add some other icons to make the window a bit more spicy as suggested by
Axel.

Change-Id: I859cefc7f5cb99f9a5465902c9d471f0b9857b71
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2527
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-02 00:53:01 +00:00
Jérôme Duval
a03ed4fa08 udp: set is_connected flag on our socket once connected.
Change-Id: Ie5fcc5152af813d74d33c20ed7c3e81f9e828518
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2548
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-02 00:52:20 +00:00
Jérôme Duval
0424248dcb kernel/fs: allow sendto to be called with a NULL address
POSIX says: If the socket is connection-mode, dest_addr shall be ignored.

Change-Id: Ic75de473173e3795066beeac9a9f2404418d94da
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2547
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-02 00:52:20 +00:00
Jérôme Duval
bf9a85cb01 udp: fix trace build on x86_64.
add current thread id.

Change-Id: I275dcee5ae27e357c8733a1aab9310e9dbc7a839
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2546
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-05-02 00:52:20 +00:00
Adrien Destugues
e6aa214527 libbe.so catalogs are not included in image
Media Kit catalog was incorrectly using "libbe.so" as a catalog name
and overwriting the catalogs for libbe.

Fixes #15904

Change-Id: Ib56045bbcf127c23ac5229981ce92d298ffd6fe5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2536
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
2020-05-01 13:49:49 +00:00
Andrew Lindesay
5ad0160882 HaikuDepot: Disable System Pkg Updates
HaikuDepot reacts to changes in packages installed in the
running system, but is currently reloading everything
which is too slow with the quantity of data involved.
Short term; disable this function in this commit so the
application can be used and then come back to it later
with a better solution.

Relates to #15879

Change-Id: I96a17c01e8b1ae1443fb6242a5b53a22b1e44416
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2483
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-01 10:44:25 +00:00
Humdinger
ea3b792b82 Update copyrights of package_infos to 2020
Fixes first part of #15932

Change-Id: Ie3fd1ceeae9a7648039a87f2f72d6b48cf17b8a9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2541
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-05-01 07:40:54 +00:00