* Make getaddrinfo() and friends thread-safe by using the thread-safe
versions of the res functions.
* NetBSD offers two versions of the res functions: one in res_state.c
from the netresolv directory, defined as weak symbols. It is the
legacy version and only for single-threaded applications.
A thread-safe version of the functions is in res_state.c inside
their libpthread directory. An application that uses pthreads on
NetBSD will then use the non-weak symbols from the pthreads
library.
* On Haiku, the thread-safe version is now always used. The
res_state.c is taken from NetBSD's libpthread directory, and then
only struct _nres from the other file is added to it.
Please keep this in mind for future updates of netresolv, do not
accidentally replace it with the single-threaded version.
* This e.g. fixes WebPositive just hanging when opening websites
(even in situations where no IPv6-related problems apply), waiting
forever to resolve names.
The removal of the vnode happens later than the actual unlink. As part
of the unlink, the vnode cache is already updated to mark the unlinked
directory invalid. This means its entry in the directory list needs to
be removed as well. Otherwise, if a directory list entry is looked up
in the time between unlink and remove_vnode, the assertion which checks
the validity of the directory list entries would fail.
Directory entries are cached using the block cache, so the cached
blocks need to be discarded when directories are removed/shrunk.
Otherwise freed directory blocks that were reused for file data would
later be clobbered when the block cache was flushed.
The forced cache sync for removable media hid the problem for these
devices. It was easily triggered on non-removable media however.
There's no real need to distinguish between first/middle/last parts of
the file and much of the initialization can be done simpler.
This also checks for overflows when truncating the requested length. On
64 bit platforms this would always happen due to the kernel file map
code requesting (size_t)-1 (i.e. unlimited) extents. This lead to the
file end being reached when building the map from a position unequal 0,
which would happen for files fragmented enough to need more than the
default of 8 supplied vectors. An IO error was returned in that case,
rendering the file partially unreadable.
* Drop lib/edit and matching bsd header
* Convert Debugger to libedit build package
* Should solve problems with libedit consumers
not defining _BSD_SOURCE
* Progress on #10267
* The decorator now draws the titlebar.
* The titlebar is font sensitive.
* The minimize button is usable.
* The buttons are pressable.
* Fix a redraw issue.
- Introduce SignalDispositionEditWindow for add/editing disposition
exceptions.
SignalsConfigView:
- Factor out helper class SignalDispositionMenu. Use accordingly in
SignalsConfigView and SignalDispositionEditWindow.
- Watch table selection changes to update button statuses appropriately.
- On add/edit request, show disposition edit window.
- Listen for disposition changes from team and react accordingly.
UiUtils:
- Add helper function to map signal defines to strings.
Together with the previous set of commits, this implements #9720.
- Rename BreakConditionConfigWindow to TeamSettingsWindow,
and move to own dedicated subfolder. Adjust callers accordingly.
Preparation work for other changes to come.
DebugEvents:
- Add definition for SignalReceivedEvent.
DebuggerInterface:
- Generate SignalReceivedEvent upon receipt of
B_DEBUGGER_MESSAGE_SIGNAL_RECEIVED.
- Add class TeamSignalSettings for storing signal disposition settings,
and add instance to TeamSettings.
- Adjust TeamDebugger to load signal settings.
- Add header for defining the possible signal dispositions that can be
configured.
- Add corresponding UI helper function to map to a string
representation.