Source Activity

Syndicate content
Haiku's main repository
Updated: 39 min 23 sec ago

BAlert: Use half-item spacing for layouts. Restores the old "compact" look.

Mon, 2015-08-03 15:39
Fixes #12273. Fixes #12273.
Categories: Development

Tracker: Fix crash when the VirtualDirectoryWindow can't create the PoseView.

Mon, 2015-08-03 15:32
Fixes #11859. We may want to show an error message rather than failing silently, but at least that is better than crashing. Fixes #11859. We may want to show an error message rather than failing silently, but at least that is better than crashing.
Categories: Development

Revert "BTwoDimensionalLayout: Removed duplicated code."

Mon, 2015-08-03 14:56
This reverts commit fd3e3e7bfb6e31cced1a98fc6a24c45f2feeba93. Apparently this code wasn't duplicated, as it caused all sorts of problems in applications (e.g. Debugger was blank). Fixes #12269. This reverts commit fd3e3e7bfb6e31cced1a98fc6a24c45f2feeba93. Apparently this code wasn't duplicated, as it caused all sorts of problems in applications (e.g. Debugger was blank). Fixes #12269.
Categories: Development

services_daemon: Delete from tree.

Mon, 2015-08-03 14:21
Superseded by launch_daemon. Superseded by launch_daemon.
Categories: Development

Terminal: Support paths starting with '~' in hyperlink mode

Mon, 2015-08-03 11:15
Implements #12282. Implements #12282.
Categories: Development

BMediaEventLooper: Rewrite ControlLoop()

Sun, 2015-08-02 23:35
* The first problem was the O(n^2) complexity of the algorithm, it's now linear and try to act in a circular way by dispatching events and reading the port in a balanced way. This exclude a certain degree of possible deadlocks. * Add detection and escape when the system try to kill the thread. This solve some blocking issues on exit et similia that i had with libjackcompat. * The algorithm choose soon which event to focus on. * Lateness is calculated just before the event is dispatched as it is the more appropriate place, otherwise we would be calculating something imprecise/guessed. * Remove timed_event_queue::queued_time. It's more precise to just use the RealTime() before to Dispatch the event. * It should solve the BSoundPlayer lateness problems. * With those improvements the media_kit is not going to lock completely under stress conditions, instead it try to work in a best effort shape. * There's still room for improvements, for example i'm considering some strategies in lateness situations such as update scheduling latency, try to decrease waiting time and detect when we are too early on the other hand to recover when the load go down. * Thanks to Julian Harnath for sharing his WIP patch which helped with some controls such as avoiding negative lateness. * Comments are welcome! * The first problem was the O(n^2) complexity of the algorithm, it's now linear and try to act in a circular way by dispatching events and reading the port in a balanced way. This exclude a certain degree of possible deadlocks. * Add detection and escape when the system try to kill the thread. This solve some blocking issues on exit et similia that i had with libjackcompat. * The algorithm choose soon which event to focus on. * Lateness is calculated just before the event is dispatched as it is the more appropriate place, otherwise we would be calculating something imprecise/guessed. * Remove timed_event_queue::queued_time. It's more precise to just use the RealTime() before to Dispatch the event. * It should solve the BSoundPlayer lateness problems. * With those improvements the media_kit is not going to lock completely under stress conditions, instead it try to work in a best effort shape. * There's still room for improvements, for example i'm considering some strategies in lateness situations such as update scheduling latency, try to decrease waiting time and detect when we are too early on the other hand to recover when the load go down. * Thanks to Julian Harnath for sharing his WIP patch which helped with some controls such as avoiding negative lateness. * Comments are welcome!
Categories: Development

MediaDefs: Fix percentage in when notifying the system

Sun, 2015-08-02 23:05
* Use TRACE instead of PRINT. * Use TRACE instead of PRINT.
Categories: Development

tcp: Change timestamp factor from 1024 to 1000.

Sun, 2015-08-02 19:20
It is the conversion factor between the milliseconds tcp time and the microseconds system time, so 1024 does not make much sense. It is the conversion factor between the milliseconds tcp time and the microseconds system time, so 1024 does not make much sense.
Categories: Development

tcp: Fix early cancellation of timers on socket free.

Sun, 2015-08-02 18:42
TCPEndpoint::Free() uses _EnterTimeWait() to start the time-wait timer for later cleanup. The latter did call _CancelConnectionTimers() unconditionally however, also cancelling a retransmit timer that was possibly still needed for the retransmission of the FIN packet. If the FIN packet got lost, the connection would be left open on the other end. TCPEndpoint::Free() uses _EnterTimeWait() to start the time-wait timer for later cleanup. The latter did call _CancelConnectionTimers() unconditionally however, also cancelling a retransmit timer that was possibly still needed for the retransmission of the FIN packet. If the FIN packet got lost, the connection would be left open on the other end.
Categories: Development

tcp: Add APICall trace entry and move TRACEs into locked parts.

Sun, 2015-08-02 18:31
The APICall trace entry just records the function name but this is enough to deduce where some of the state changes come from. Also move the TRACE macros past the MutexLockers to ensure that their output happens at the time when the methods actually run. The APICall trace entry just records the function name but this is enough to deduce where some of the state changes come from. Also move the TRACE macros past the MutexLockers to ensure that their output happens at the time when the methods actually run.
Categories: Development

tcp: Split Timer trace entry into Timer{Set|Triggered}.

Sun, 2015-08-02 17:10
Trace whenever a timer is (re-)set as well as when it triggers. A value of -1 denotes the cancellation of the timer. Trace whenever a timer is (re-)set as well as when it triggers. A value of -1 denotes the cancellation of the timer.
Categories: Development

tcp: Fix retransmit logic to avoid lots of spurious retransmits.

Sun, 2015-08-02 16:29
The retransmit timer was only stopped when all in flight data was acknowledged and never updated on individual acknowledgements. This caused a lot of erroneous retransmits whenever the buffer was filled fast enough so that the acknowledgements never caught up, i.e. whenever uploading or streaming data. Move setting of the initial retransmit timer inside the send loop so it is closer to the actual time the segment is sent out and simplify the logic a bit. Limit the minimal retransmit timeout to 200 msecs to avoid spurious retransmit in the face of delayed acknowledgements. This is lower than the 1 second minimum the RFCs suggest. Other stacks use various other sub-second timeouts, the 200 msecs follows what Linux does. Also add the exponential back off of the retransmit timeout when retransmits are triggered. This is bounded by a 60 seconds maximum according to RFC6298. The retransmit timer was only stopped when all in flight data was acknowledged and never updated on individual acknowledgements. This caused a lot of erroneous retransmits whenever the buffer was filled fast enough so that the acknowledgements never caught up, i.e. whenever uploading or streaming data. Move setting of the initial retransmit timer inside the send loop so it is closer to the actual time the segment is sent out and simplify the logic a bit. Limit the minimal retransmit timeout to 200 msecs to avoid spurious retransmit in the face of delayed acknowledgements. This is lower than the 1 second minimum the RFCs suggest. Other stacks use various other sub-second timeouts, the 200 msecs follows what Linux does. Also add the exponential back off of the retransmit timeout when retransmits are triggered. This is bounded by a 60 seconds maximum according to RFC6298.
Categories: Development

tcp: Replace custom WaitList with ConditionVariable.

Sun, 2015-08-02 13:10
The WaitList implementation had a race condition between checking for the condition and acquiering the semaphore. If a thread was rescheduled at that point, the signal could be missed due to the use of release_sem_etc() with the B_RELEASE_ALL flag while the thread was not yet waiting for the semaphore. The transfer would subsequently stall. The WaitList implementation had a race condition between checking for the condition and acquiering the semaphore. If a thread was rescheduled at that point, the signal could be missed due to the use of release_sem_etc() with the B_RELEASE_ALL flag while the thread was not yet waiting for the semaphore. The transfer would subsequently stall.
Categories: Development

Update binutils packages.

Sun, 2015-08-02 12:48
* only the version format string differs. * only the version format string differs.
Categories: Development

Update coreutils and xz_utils packages.

Sun, 2015-08-02 12:05
Categories: Development