The _Setup method can be called several times if the parameters are
changed (for example when calling SetQuality). But it always allocated a
new context without freeinthe previous one, resulting in a leak.
Part of #9458, it fixes the largest leak there (10K bytes for each loop
of the provided test) but there are other leaks left as well, some of
which apparently need an update to a newer ffmpeg version removing some
deprecated fields.
Change-Id: Iad119dbda9cff1ce023b602a1978b100a1263f7d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5953
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit beff8fa729ae3a849202b3084a730b9a6cac30df)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5925
This work-arounds the issue of the VirtualMemory preflet showing
RAM FS volumes as valid storage options for the swap file.
Removing B_FS_IS_PERSISTENT didn't work as I originally expected,
causing problems when attempting to write/delete entries on RAMFS
mounts after that.
Kudos to waddlesplash for the B_FS_IS_REMOVABLE alternative.
Change-Id: Id5ba1fa192b63b944cf59413a7f580ebb608e50d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5911
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 1cae9edcc724c4a56877af237815389b81fcd3b4)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5920
* aborted transfers will release the notify semaphore when the cancel is notified.
* the allocated buffer would be freed on return, while the usb stack eventually copied
data in the buffer in our back, leading to KDL crashes, because the freed buffer would
be right reallocated for some kernel team structures.
* regression introduced by hrev55806, the transfers didn't need to be cancelled before.
Change-Id: Ifb6e941f71d05c37c36f878059c33883bb72a67c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5905
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
(cherry picked from commit 76ddb69a3a2e70d757bc696daa6494346278d156)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5919
On 32bit x86 gcc11, allocations should be aligned to 16 bytes, but the
block header (which is stored before the allocations) contains two
pointers, which on a 32bit system results in 8 bytes. Add some padding
to make this header 16 bytes, guaranteeing that the data area is
actually aligned.
Fixes #18111.
Change-Id: Id23f8c0272d75090710f872b728852cd0fcb19ac
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5916
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
This makes sure that apps get access to these variables regardless if
they are started from a shell or from GUI (double-click from Tracker,
desklink, etc).
Fixes #18130.
Change-Id: I82e2884e460fad7d6ec16e7b624c5cd2fcf807df
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5897
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
(cherry picked from commit 3af8011358bd4c624a0979336d48dabb466171ed)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5918
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
We need O_CLOEXEC here, not FD_CLOEXEC (which is equal to 0x1, which
in openflags is O_WRONLY and thus leads to the conflicts caught by
the previous commit.)
Fixes haikuports/haikuports#7524.
Otherwise we will have open modes that could have both and lead to
confusion in code that presumes only one will be set.
This catches the cause of some ported software (e.g. Wayland layer)
misbehaving with ramfs mounted in /var/shared_memory: the ramfs does not
properly handle both flags set, and due to another bug, they are for
shm_open'ed files.
This will allow proper operation of POSIX SHM API (shm_open etc.).
Now memory files are stored fully in memory and do not affect disk
storage (except swap if enabled).
Change-Id: Iae3ce1afa968df72e82198e598a273cbf7cb0269
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5802
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
(cherry picked from commit bf2786efaebcda175697936e70d237c5e3ddd38f)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5851
This saves 16 bytes in the class vs. the old size, but more importantly
allows us to avoid allocating VMCaches and wasting an entire page for
any attribute larger than 32 bytes; instead, attributes can be up to
1024 bytes before we allocate a full page for them.
Unfortunately small files cannot take advantage of this optimization
right now as the cache is always used for them. I added a TODO about
this.
(cherry picked from commit 396e3dfb9ceaabd07a9a9e3e84b35efae85e1831)
Change-Id: I6c939565dd577cb86aeb7b518a219da01cb313a1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5849
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
As, of course, we are deleting it. This problem was obscured by the
one fixed by the previous commit.
(cherry picked from commit 4e742d81ab09b6fc2068635c37a9c25e73bf0262)
Change-Id: I071b6356d85fb4e834125fa4a453b8ebf206510a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5848
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* RemoveReference() could delete us immediately, thus we must do
all important work before invoking it.
* Add assertions about fRefCount and remove a spurious add.
* Do not use Link but PublishVNode on the root, as we manually manage
when this object is published/deleted.
Fixes #18032.
(cherry picked from commit 605ecac1ee396134c11050ef031c0b88414d5613)
Change-Id: I696e652bc4094baacb5336b1180d8b90f3f0f864
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5847
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* We do not want to set fNode in the constructor but let the invocation
of Link() take care of doing so instead.
* Link/Unlink manipulate linked-lists. Thus it is dangerous to use them
in tandem on the same Node object. Add a check for this.
* Minor cleanup.
(cherry picked from commit 6a8bb0562e6cb74f99e8138886708c3468d418fd)
Change-Id: Iec3c8596d4b8fa24be94247a1f29b9cbdf9909fe
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5846
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
remove the yarrow module. the hardware modules can push entropy with queue_randomness().
virtio_rng will now push entropy every 300 seconds.
helps with #14937
Change-Id: If76c5deabf61dc616a0e051332f44b89deb6b8a1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5824
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 34e92438724cdb062dae1765fc7e765b44f51ac7)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5843
Spotted while investigating #18111, but likely does not fix it.
This matches the existing behavior of the runtime_loader heap.
(cherry picked from commit 5f40b96c3509d1442cd7373894c108eeed30c2ed)
Change-Id: I85a60309585ffeec8ab558b899a7782e8da5a413
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5841
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
The files and formats are different for libnetservices and curl
backends, but now they are under the same directory whatever the
installed haikuwebkit version uses.
Change-Id: Iab87d5fd27ebea1fa0a8967a9802dfa2fb11240a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5835
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 753349fb2eb5e015d2dc7dd036f565272523c70f)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5839
The rest of the code does a memcpy(..., ..., min(11, strlen(...))
so clearly no NULL terminator is needed and 11 is the real limit.
Should fix #18074.
Change-Id: I6aea166899eab2bab9511ca52981ccc9172b6c17
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5823
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
(cherry picked from commit 0843085384620b855ccf458e9ef329264306933d)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5795
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Invalidating the layout may not be enough for an update.
Fixes: #18069
Change-Id: I93f6b0feb043c7f317a9ff1e7af11b2047fc7cd5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5821
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 5728bdf606fa4f339f79a411ae4f99b77570a27c)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5794
the dependency is optional, only the device modules depend on it.
should fix #18075
Change-Id: Ifddb9814ff5ff59ee7d80d06b14ba9fded04cd56
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5822
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit d2875e7b28685be82cb9a98a4cab442e1dd4add8)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5793
without this, my swift SF114-34 doesn't find the boot partition when booting on xhci, while it works on another port.
Change-Id: I141aa1497582860500991c44cdea81cff55756ed
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5792
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* The if statements now "make sense"
* 1.4 GiB release images easily fit a "mini single layer DVD"
* Our source build is around 1.1GiB
* 200 MiB of "space" in our read-only image allows
a little room for live-media shenanigans
* Empty space is compressed anyway in release zip files
Change-Id: I5ad017e3f80d5977ca9604f5bf200684796fc7b9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5791
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Change-Id: Ib21a3fb8c26a25d84b0b3dd298c22618a53cb7d1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5790
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
* Userguide now provided from HaikuPorts.
* Python 3.7 -> 3.9.
* Lots of other version bumps.
(cherry picked from commit 96db3233c8b7ed01c191ff25c4838c7be27c968b)
Change-Id: Ica29a8b8e572763ff3eca960d67a6ba948bddb53
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5788
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
There's currently no way for an application to convert between view and
drawing coordinates with a drawing states stack without keeping track of
all the transformations itself, which is not very convenient for helper
or library functions.
Handle other spaces too, for good measure.
Change-Id: Ic8404a1c111e273fff1eebf2f9f59f58246b796c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5775
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 241f109ccbc17646932772fb9bd5b9e7c99d5d85)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5787
If nothing else for the Media codecs.
(cherry picked from commit 62bd88a64dcd2ff9c3510a9e103b55a0f59499b1)
Change-Id: Ief056668d98fb4f974189e70b729f92ec7b1684c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5786
Reviewed-by: waddlesplash <waddlesplash@gmail.com>