and dns_resolver_repair() succeeds.
reply allocated at line 178, not freed on continue.
Change-Id: I8fc9d02512ab741d34b0f6bd4710bb1bd29ddaae
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5532
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
as it extends the provided protection with the kernel protection.
fix hrev55016
Change-Id: I9fa9349c15b4ef896a9dadd1b1b7a4165cc03b39
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5531
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
'reply' is allocated in Serialize() at line 120, but is not freed.
Pointed out by Clang Static Analyzer.
Change-Id: I9f7e0c5c2dcb976f11230ad8a5ba38d653b23d6d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5530
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
should help with #17664
register change from Tahiti for #17377
Change-Id: I52b9691cd6a04b58b70e905bc29e803f06936789
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5526
Reviewed-by: John Scipione <jscipione@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Normally the heap's priority will suffice to check if we need to reschedule.
However, in cases where the CPU in question is currently in the middle of
rescheduling already, and it is about to change its priority to "idle",
we can race with it and not notice that we need to send it an ICI.
Previously this meant we would just lose some performance, but after
recent fixes to not reschedule only as necessary, this race led to hangs.
Now we report whether the runqueue we added the thread to was empty
in ThreadData::Enqueue(), and if it was, we then always trigger a
scheduler invocation on the target CPU.
In my testing, this fixes #17847; and at least in my unscientific
benchmarks, improves compile performance by as much as 10% (I saw
~55s -> ~50s in some tests.)
This will allow it to be invoked outside scheduler_cpu.cpp,
and GCC should automatically inline this function within that file
anyway.
No functional change intended.
No commits since 2016 or so. Are you guys still around?
Change-Id: I07ca59f537c7e47859c02128023eeebb4d452e33
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5525
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: John Scipione <jscipione@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Instead of 8096 maximum entries, now there will be about 130k.
As there are around ~32k files in the Haiku git tree, this has a
serious impact on "git status" performance: in my testing it sped up
from around 0.95s to 0.39s, or less than half with a "hot" cache
(in a VM backed by an NVMe SSD, may be more dramatic on spinning system.)
Compile performance does not seem very much improved, however.
We are trying to add the enty to the current generation, so we
need to use the current generation's next_index, not the previous.
This was apparently broken since this code was imported. The "miss"
here meant we always acquired the write-lock and then ran the more
expensive add operation, which performs this same check (correctly).
Slight performance improvement seen in basic testing, but nothing
too drastic.
Instead set them in the Init functions. For now, the same
hard-coded sizes are used, so aside from slightly increased storage
on two classes (or not even due to padding), this has no functional change.
uselocale now attempts to create a backend and a databrige.
If the attempt fails due to a missing libroot-addon-icu, uselocale
does nothing (to support applications calling uselocale during
startup to enforce the C locale).
Else, uselocale will fail with ENOMEM.
LocaleBackend::CreateBackend() has been modified to return a status_t
that indicates whether NULL is returned due to out of memory (B_NO_MEMORY)
or due to being unable to load the ICU addon (B_MISSING_LIBRARY).
Change-Id: I0f62ebde5890364c64e6694ec58d38de43ec6841
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5505
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
this is only useful when connecting an external screen, and the laptop actually uses it on boot.
should help with #17706
Change-Id: Ia3434f76cf6210b743f17d5559d031c089cbcd85
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5518
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
* If the target is a volume, include a line on the Information tab of
the Get Info window that lists the filesystem name, block size, and
whether the volume is indexed.
* Fixes #16945.
Change-Id: I888ae708a15a2f7729f50806fb59dbb4df506cfa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5507
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
test_app_server: fix build for SVGViewView.cpp
src/tests/kits/interface/picture/SVGViewView.cpp:
In method `struct rgb_color Svg2PictureView::GetColorAttribute(const
XML_Char **, const char *, unsigned char)':
src/tests/kits/interface/picture/SVGViewView.cpp:258:
warning: unsigned int format, long unsigned int arg (arg 3)
src/tests/kits/interface/picture/SVGViewView.cpp:258:
warning: unsigned int format, long unsigned int arg (arg 4)
src/tests/kits/interface/picture/SVGViewView.cpp:258:
warning: unsigned int format, long unsigned int arg (arg 5)
src/tests/kits/interface/picture/SVGViewView.cpp:264:
warning: unsigned int format, long unsigned int arg (arg 3)
src/tests/kits/interface/picture/SVGViewView.cpp:264:
warning: unsigned int format, long unsigned int arg (arg 4)
src/tests/kits/interface/picture/SVGViewView.cpp:264:
warning: unsigned int format, long unsigned int arg (arg 5)
src/tests/kits/interface/picture/SVGViewView.cpp:276:
warning: int format, int32 arg (arg 3)
src/tests/kits/interface/picture/SVGViewView.cpp:276:
warning: int format, int32 arg (arg 4)
src/tests/kits/interface/picture/SVGViewView.cpp:276:
warning: int format, int32 arg (arg 5)
Change-Id: I886cef4df7f47425db8ee22ec1271d122cb454ea
test_app_server: fix build for ScreenManager.cpp
src/servers/app/ScreenManager.cpp:206: parse error before `('
Add expat build feature to picture Jamfile
src/tests/kits/interface/picture/SVGViewView.h:5: expat.h: No such file
or directory
Change-Id: I83edbc3059d6042482820a43eb41ef16928b8f6b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5504
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Change-Id: I70ea16aa8842edcb22a3484cf908698c3c5026c8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5509
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
EDID is correctly read. It can then be passed to the app_server.
At least the app_server tries to set the native resolution.
It doesn't really help to get further, because the ATOMBios code can't handle newer
table versions (for instance 3.2).
Change-Id: If68828bcfda447ecf7d4432ae2872bbdbc0704d5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5508
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
There is nothing really x86-specific there, other platforms use
ACPI interrupt routing for PCI too.
Change-Id: Ib02e2917902a161c3d79a1049bcd16ba40bb7814
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5277
Reviewed-by: David Karoly <karolyd577@gmail.com>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reorder font defines to plain, fallback, bold, fallback, fixed, fallback.
Minor functional changes: No BeOS font fallbacks for Haiku apps.
Use FALLBACK_BOLD_FONT_STYLE instead of DEFAULT.
Change-Id: Id053fd9434e8d34290cf68af89cf58fe7811f786
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5497
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Larger font sizes and translations make the window too wide, grow
window vertically instead by wrapping.
Change-Id: I5850374f0fc917176927010d8e50b44033d366b1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5501
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
AddGlue to separate color preview and color control instead
of growing the preview.
Change-Id: I6a21377cebc94a6f67c5528ba02d573f146a9b4c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5500
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Most common values for interrupt-cells are 1 or 2.
- one cell: the single cell defines the index of the interrupt
within the controller.
- two cells: the first cell defines the index of the interrupt
within the controller, while the second cell is specifies
interrupt flags like active-high/active-low, edge triggered
or level-sensitive.
ARM Generic Interrupt Controller uses 3 cells:
- the 1st cell is the interrupt type: 0 for SPI, 1 for PPI
- the 2nd cell contains the interrupt number
- the 3rd cell contains interrupt flags, similarly to the 2-cell format
SPI interrupts are numbered from 0 in the device tree but
they start from 32 on the GIC so an offset should be applied.
On the other hand, ACPI tables contain interrupt numbers
as they are expected by the GIC so no offset should be applied
when interrupts are read from ACPI.
see:
https://www.kernel.org/doc/Documentation/devicetree/bindings/interrupt-controller/interrupts.txthttps://www.kernel.org/doc/Documentation/devicetree/bindings/interrupt-controller/arm%2Cgic.txthttps://developer.arm.com/documentation/198123/0301/Arm-CoreLink-GIC-fundamentals
Change-Id: Ia41371bd965347f89c17d62e391480d7b2083bae
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5490
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
The corresponding Trac wiki page can be deleted once this is merged.
Some of this information is a little out of date, help is welcome on
updating it.
Change-Id: I9157b140bcb5de3fed3c95d994745b5a1cbee1f6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5477
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
-Implemented node and B+Tree based directories support for xfs v5
-Implemented file read support for xfs v5
-Implemented common template function for all data headers check
This patch completes #17783 and #17703
Change-Id: Id4389168d07f31a97e8867e3cb3321b4523b13c0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5483
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
hrev55108 imported the spleen font into the tree and added credits.
hrev56196 removed the spleen font from the tree again, but left the credits.
this commit removes the credits.
Change-Id: I44b7ca1f6100eb86559b48c96db2b3590ee1b9b9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5492
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
- It is possible to call open() on a directory, but FUSE lowlevel
filesystems don't implement that and expect it to be re-routed to the
opendir call. BRoster uses this to read the dir/file attributes to
identify it, so it could not identify directories properly.
- In ReadDir, make sure to not return more entries than asked, as this
confuses the userlandfs protocol communication (the kernel does not
acknowledge the readdir reply, and then the server hits an assert when
receiving the next request instead of the ack).
Change-Id: I9c4e9a3f0fc6e9879d4cfbc0d5402a4733d2218a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5482
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
The previous implementation needed a temporary buffer to store entries
and then sent them to the actual readdir buffer. This is now fixed, the
actual buffer is filled directly.
Also fixes problems with reading the same directory multiple times, and
reading large directories.
Change-Id: I8dc9677ee676144547d17f313a7f2d91fd2bca05
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5480
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
- Import latest version of files from FUSE 2.9.9 (our last
synchronization was with 2.7.4)
- Adjust fuse pkgconfig file to use the POSIX error mapper
automatically, since that's required for all FUSE software
- Implement the lowlevel API in addition to the highlevel one. The
lowlevel API uses inode numbers to identify files, rather than paths,
making it a better fit to the userlandfs architecture.
The FUSE 2.x branch is not maintained anymore by FUSE developers,
however, pretty much no one migrated to FUSE 3.x. So it is more
interesting to implement, rather than 3.x.
Confirmed still working with sshfs and curlftpfs.
Example use:
I tested this with github.com/whoozle/android-file-transfer-linux
- Build the fuse library and copy it to ~/config/non-packaged/add-ons/userlandfs/
- Start the server: /system/servers/userlandfs_server aft-mtp-mount
- Connect your Android phone and put it in USB file transfer mode
- Mount the device: mount -t userlandfs -p 'aft-mtp-mount /boot/home/MyPhone -d -o use_ino' ~/MyPhone
- You can now access your phone data
Change-Id: Ic3efda7ffbc33737e6f4958428fb3ec9939ef105
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5198
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>