Source Activity

Syndicate content
Haiku's main repository
Updated: 11 min 56 sec ago

BCommandPipe: Fix memory leak.

8 hours 27 min ago
CID 600866. Both the header and the source of the argv getter clearly indicate that the caller must free the memory. CID 600866. Both the header and the source of the argv getter clearly indicate that the caller must free the memory.
Categories: Development

BMenu: Check return value of LockLooper().

8 hours 54 min ago
CIDs 602450-602452. CIDs 602450-602452.
Categories: Development

BMediaEventLooper::ControlLoop: Review style/logic, no functional change

11 hours 54 min ago
* The code is just reversed to be better organized. * Since the first event will be handled after a port write, at thread spawn we just wait with infinite timeout for new messages. * Remove goto which then become a continue. * This permitted to remove the double waitUntil assignment which was in different braces. * lateness var become tempLateness, so it become more obvious than before that it's a cached value and we are doing this to avoid double calculus. * The code is just reversed to be better organized. * Since the first event will be handled after a port write, at thread spawn we just wait with infinite timeout for new messages. * Remove goto which then become a continue. * This permitted to remove the double waitUntil assignment which was in different braces. * lateness var become tempLateness, so it become more obvious than before that it's a cached value and we are doing this to avoid double calculus.
Categories: Development

Revert "Revert "BTwoDimensionalLayout: Removed duplicated code.""

Mon, 2015-08-03 17:07
This reverts commit c2e9a9227ecadca3a4fdc7e7f7569fb9c7dc1391. I misunderstood what Diver meant -- apparently whe he said "revert", he meant the whole changeset, not this specific commit. So the culprit is probably BTextView then. This reverts commit c2e9a9227ecadca3a4fdc7e7f7569fb9c7dc1391. I misunderstood what Diver meant -- apparently whe he said "revert", he meant the whole changeset, not this specific commit. So the culprit is probably BTextView then.
Categories: Development

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