Implemented `UnixBufferQueue::SetCapacity` so that `setsockopt`
with `SO_RCVBUF` will not always return an error.
Change-Id: I2d9be84633f84474fac64b379e9f89ef2751a094
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6816
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
on Pentium Silver, loading the microcode on the boot cpu also updates the other ones.
Change-Id: Ifbd767e7d73fdbc8ae2bf0740fcce523e500de1b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6806
Reviewed-by: waddlesplash <[email protected]>
Nice to have its own icon (albeit a bit simplistic) instead of the
generic supertype text icon, and a description text.
Draft mails are created by the Mail app when saving. They don't yet
have any MAIL:* attributes.
Change-Id: I775950ea934eafc19c8d57e0e45451c8ab542234
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6797
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Use string_for_size() to get all filesize symbols and add a translation
comment when we have to shorten "bytes" to "B" as it's not obvious if
you just see "%lld B" at Pootle.
Remove no longer needed kSizeFormats[].
Change-Id: I85defd941a2d777d6032732fcfdd5e1fa91e08ac
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6776
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
This disables -Werror for the use of old GCC extensions listed here:
https://gcc.gnu.org/onlinedocs/gcc/Deprecated-Features.html
We do not apparently use any of those anymore (if we ever did). I think
this was accidentally enabled at the same time as
deprecated-declarations (which we still need, for example because we
still have some uses of auto_ptr).
Change-Id: I147276b42d9d066df56e8b135bc8fd885dc937a7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6798
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
The main motivator is the update to GCC 13. As part of this, some of the other
dependencies have been updated as well.
Newly introduced:
- gawk on x68_64 (new dependency of texinfo)
- libjx (new dependency of haikuwebkit)
- openexr30 (new indirect dependency of haikuwebkit)
- brotli (new indirect dependency of haikuwebkit)
On x86_gcc2, some packages have switched to the modern GCC version:
- diffutils
- findutils
- libpsl
- tcpdump
Change-Id: Ic617b5b4af9eb34c0d28259a3c0ddbcc33f98a5d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6772
Reviewed-by: Adrien Destugues <[email protected]>
The per-heap locks are reinitialized already by the routine which
invokes this one, but this global lock was previously missed.
May fix a deadlock reported by trungnt2910 to happen in the .NET port.
* If we received a wait status, always return with it.
* Only count those entries for which we set the wait-status as
having been notified.
In conjunction with the prior commit, this fixes some rare deadlocks
that could occur with timeouts or signals.
It turns out this code actually is possible to trigger, e.g. using
Git checkouts, where EINTR due to signals happens quite often.
However, even with this commit, it still does not work quite right,
due to an oversight in condition-variable notify accounting. That
will be addressed in the next commit.
Once B_EVENT_INVALID has been set, the select routine is free to
delete the select_info at any time. We therefore cannot access
the "next" pointer after notify_select_events returns.
May fix a KDL seen by trungnt2910.
The dequeue routine expects that if B_EVENT_INVALID is set,
it is free to delete the object. So we must only set it with
the lock held, so that by the time the dequeue routine sees it,
we will be done with the event.
This commit replaces the custom implementation of message passing with
BLooper.
This commit does not fully transition the code to the BLooper paradigm.
WaitForEvent still exists, when, ideally, message passing should be
used to notify the waiting class that the results are ready.
Change-Id: Id223b9fc0ac1aa9a5a5aeb4af63da04f2cc7574b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6400
Reviewed-by: John Scipione <[email protected]>
Reviewed-by: Rene Gollent <[email protected]>
1. Set fShutdownRead & fShutdownWrite. This is necessary
because in Send(), there is a lock-unlock dance between the
source and target sockets which could potentially race with
some other thread closing the socket. The "shutdown" state
is checked before actually writing, and so we need to set it
here. Otherwise, the other thread could allocate a new receive
FIFO for us, which we do not want.
2. Don't return early when unbinding, but only if there's an
error (there shouldn't be.)
3. Merely ASSERT() in Free() that closing was already done
and nothing remains to be deallocated.
Should fix#18535.
unix_dgram_test still passes.
When the select/deselect API consumers invoke deselect(), they
expect that when this function returns, no further references to
the select_infos will remain and they can be safely deleted.
In order for that to be true, we cannot remove the select_infos from
the list in one step and deselect them in another; we must do both
without releasing the lock in the middle.
Should hopefully fix a rare KDL seen while testing .NET and
the new event_queue.
* Check fFirst/fLast instead of previous/next. Avoids
list corruption when trying to remove already-removed
elements, instead will cause null-dereference KDL.
* Always set next/previous to NULL even when DEBUG is not
enabled.
- Follow POSIX recommendations (even if other parts of the output don't match)
- If the mountpoint path is long, don't shift the other columns
Change-Id: I0ebfa2d6dca34792da8c3a26d996271298e0e65a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6380
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Report connected status to the socket module. Otherwise, operations
like `getpeername` would not work correctly.
Fixes#18534.
Change-Id: I99d047f0d7b4d442cc2b3ea9222b0d89d216c1ae
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6719
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
It was suggested for translations in Pootle, and I agree it looks
subtly nicer: a bit smaller and vertically centered.
Also made all strings that include the "x" translatable, in case
there are different local usages.
For icon sizes in Tracker, move menu creation into a loop with an
kIconSizes array holding the pixel dimensions.
Change-Id: I805279d7186d90a13a40b4d4495670cdfac18913
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6765
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
When there are a lot of display resolutions available, the menu can
become very high. Switch to a "matrix" menu with 3 columns in this case
to keep it a reasonable size.
Change-Id: I826be06a91bd1bcae600cc333e34d4a9dd7b3df5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5320
Reviewed-by: nephele nephele <[email protected]>
Reviewed-by: John Scipione <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
This warning happens on Haiku because we don't have DT_DIR and the
dt_type field in dirent. The FreeBSD code has a partial ifdef for that,
but it is missing in some places, leading to an unused but set variable.
Completely disable the variable when DT_DIR is missing.
Change-Id: I274799b0d25e2df27758fcf4452567879aed8e10
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6764
Reviewed-by: waddlesplash <[email protected]>
Notable changes include:
* fts: Stat things relative to the directory fd, if possible.
* fts: Fix double-free with conflicting concurrent modifications.
* fts: Don't abort if an empty pathname is given.
* fts: Don't return FTS_SLNONE if it's not a symlink (if race).
* fts_children: preserve errno after running close/fchdir
* Use ANSI C prototypes. Eliminates -Wold-style-definition warnings.
* fts: Fix a potential memory leak in error case
* libc: Check for readdir(2) errors in fts(3)