- Fix some new some std::nothrow on critical allocations among kit and server
- Some styling
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30353 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Extend the PaneSwitch BControl from Tracker, so it can draw on/off labels.
This has the added benefit that you can click the label to expand/collapse,
like for example in the Get Info window (Permissions).
* I also added font-sensitivity features to PaneSwitch, and it can be used
in layouted windows (untested).
* This made the "DrawButton" in the Installer superfluous.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30348 a95241bf-73f2-0310-859d-f6bbb57e9c96
- inline acronym definitions and remove the dotted underline
- inline urls for a tags with printurl class (we don't want all of them printed)
- noprint class for things we might not want to print at all
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30347 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Moved scheduler listening interface to <listeners.h> and added more
convenient to use templatized notification functions.
- Added a listener mechanism for the wait objects (semaphores, condition
variables, mutex, rw_lock).
* system profiler:
- Hopefully fixed locking issues related to notifying the profiler thread
for good. We still had an inconsistent locking order, since the scheduler
notification callbacks are invoked with the thread lock held and have to
acquire the object lock then, while the other callbacks acquired the object
lock first and as a side effect of ConditionVariable::NotifyOne() acquired
the thread lock. Now we make sure the object lock is the innermost lock.
- Track the number of dropped events due to a full buffer.
_user_system_profiler_next_buffer() returns this count now.
- When scheduling profiling events are requested also listen to wait objects
and generate the respective profiling events. We send those events lazily
and cache the infos to avoid resending an event for the same wait object.
- When starting profiling we do now generate "thread scheduled" events for
the already running threads.
- _user_system_profiler_start(): Check whether the parameters pointer is a
userland address at all.
- The system_profiler_team_added event does now also contain the team's name.
* Added a sem_get_name_unsafe() returning a semaphore's name. It is "unsafe",
since the caller has to ensure that the semaphore exists and continues to
exist as long as the returned name is used.
* Adjusted the "profile" and "scheduling_recorder" according to the system
profiling changes. The latter prints the number of dropped events, now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30345 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added Int32TableColumn and BigtimeTableColumn classes.
* Evaluate the timestamps of the events that have one and maintain the
fLastEventTime field, so we get estimated team/thread creation/deletion
times.
* Added some columns to the threads table (ID, creation and deletion time).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30343 a95241bf-73f2-0310-859d-f6bbb57e9c96
(the "down" arrow actually points down, now), it also uses the arrows
consistent with Tracker -- i.e. arrow pointing down means ascending order.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30340 a95241bf-73f2-0310-859d-f6bbb57e9c96
potentially want to notify the profiler thread (i.e. wake it up), which can
cause another scheduling event notification. That is we have to make sure that
event buffer is in a consistent state at that point (i.e. wake up the thread
at the very end of the callbacks). Furthermore the ThreadEnqueuedInRunQueue()
callback can be called with spinlocks besides the thread spinlock being held. In
particular waking up threads also happens in the condition variable code with
a static spinlock being held. Trying to notify the condition variable the
profiler thread is waiting on in such a case would be a guaranteed deadlock.
Hence we avoid doing that, now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30339 a95241bf-73f2-0310-859d-f6bbb57e9c96
manipulating the queue is a particularly unsuitable place for calling the
listeners, as they wouldn't be allowed to e.g. unblock threads, since that
would screw the run queue.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30338 a95241bf-73f2-0310-859d-f6bbb57e9c96
it isn't BFS... (like perhaps ISO9660 with write-overlay ;-)
* Reject a lot more situations as valid targets. (No more devices when they
already have child partitions, no more extended partitions themselves, also
use a minimum size.)
* Remove the partition ID from the menu item name. I don't know why the user
would be interested in this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30335 a95241bf-73f2-0310-859d-f6bbb57e9c96
an app by signature if the mime database is incomplete. Like on a boot CD.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30333 a95241bf-73f2-0310-859d-f6bbb57e9c96
feature and offer the user to boot into the Installer or into the Desktop (Live-CD
mode). Thanks to Vincent Duvert who offered a method that worked around some
interference from mysterious debug output...
The launching of the servers has been refactored, since that needs to be done anyways
before an alert can be shown.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30332 a95241bf-73f2-0310-859d-f6bbb57e9c96
- add support for generating a .vnc file and a .m3u for audio.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30331 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added a remove_dirs() that can reliably clean up the mess afterwards.
* Added option -b to set an alternative base dir.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30329 a95241bf-73f2-0310-859d-f6bbb57e9c96
perhaps read-only, while the volume appears to be writable because of the
filesystem overlays.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30327 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added argument -c|--check-interval to determine how often the file contents
are checked.
* Added some statistics.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30325 a95241bf-73f2-0310-859d-f6bbb57e9c96
implement the TableColumn interface without a column delegate.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30323 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Partially implemented a respective table model. At least the thread names can
be seen now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30316 a95241bf-73f2-0310-859d-f6bbb57e9c96
anymore. This was the case for GCC4 already but is now also true for GCC2. We
might want to look into that again, or we can just ignore it as noone is really
using floppies anymore and for eltorito boot we can live with the 2.88 floppy
emulation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30312 a95241bf-73f2-0310-859d-f6bbb57e9c96
clearly state that the other two bytes need to be 0x01 (and they always did,
even back to the very first ATA/ATAPI specs), I have one device here that
doesn't set the sector count register to 1. Since those two bytes are the unique
ones of the signatures anyway, it shouldn't harm to just ignore the others.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30311 a95241bf-73f2-0310-859d-f6bbb57e9c96
Instead, let's call /bin/fortune without specific file by default to use its random selection
feature.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30310 a95241bf-73f2-0310-859d-f6bbb57e9c96
between 0 and max size and restrict to min size afterwards. This leads to more
consistent behavior and a more reasonable scroll bar size until the minimum
size is reached. And it also fixes#3801. Probably also fixes the bug where
some Pe windows could not be scrolled, or only scrolled very little. I assume
this because a special trick is used for proportional scroll bars in Pe. It
does not set the proportion, but only large steps and then the proportion is
calculated from that. But since the minimum size was not taken into account
before, it would have exactly this inconsistency. Since the size now ranges
from 0 to max, this should now be in sync. But I didn't have a Pe window handy
which exposed this bug to confirm my assumption...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30309 a95241bf-73f2-0310-859d-f6bbb57e9c96
behavior to ignore double clicks in case someone did it out of habbit, but
wouldn't expect an app to launch twice because of that. However, some people
may want the plain/straight button behavior, as testified in #3800. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30307 a95241bf-73f2-0310-859d-f6bbb57e9c96