Commit Graph

54447 Commits

Author SHA1 Message Date
Augustin Cavalier
fb4ea396e3 BMenu: Check return value of LockLooper().
CIDs 602450-602452.
2015-08-04 10:59:00 -04:00
Dario Casalinuovo
b0ed323924 BMediaEventLooper::ControlLoop: Review style/logic, no functional change
* 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.
2015-08-04 12:05:09 +02:00
Augustin Cavalier
2ffa9f8e54 Revert "Revert "BTwoDimensionalLayout: Removed duplicated code.""
This reverts commit c2e9a9227e. 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.
2015-08-03 13:07:06 -04:00
Augustin Cavalier
bd35a040a5 rman: Delete from tree. Unused, and recipe exists. 2015-08-03 11:47:25 -04:00
Augustin Cavalier
e9c7257afb BAlert: Use half-item spacing for layouts. Restores the old "compact" look.
Fixes #12273.
2015-08-03 11:39:32 -04:00
Augustin Cavalier
a4db376caa Tracker: Fix crash when the VirtualDirectoryWindow can't create the PoseView.
Fixes #11859. We may want to show an error message rather than failing
silently, but at least that is better than crashing.
2015-08-03 11:32:15 -04:00
Augustin Cavalier
c2e9a9227e Revert "BTwoDimensionalLayout: Removed duplicated code."
This reverts commit fd3e3e7bfb.
Apparently this code wasn't duplicated, as it caused all sorts of
problems in applications (e.g. Debugger was blank).

Fixes #12269.
2015-08-03 10:56:40 -04:00
Augustin Cavalier
eae0eccd2e services_daemon: Delete from tree.
Superseded by launch_daemon.
2015-08-03 10:21:52 -04:00
Ingo Weinhold
52100b0c0e Terminal: Support paths starting with '~' in hyperlink mode
Implements #12282.
2015-08-03 13:15:59 +02:00
Dario Casalinuovo
7771139cdf BMediaEventLooper: Rewrite ControlLoop()
* 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!
2015-08-03 01:35:09 +02:00
Dario Casalinuovo
8ecc32df11 BBufferProducer: Returning B_ERROR hang up things 2015-08-03 01:19:29 +02:00
Dario Casalinuovo
7e74eb0f42 MediaPlayer VideoProducer: Flush event on stop 2015-08-03 01:19:29 +02:00
Dario Casalinuovo
313ed73b50 Revert "media_server: Fix deadlock when killing from ProcessController"
This reverts commit 5934b30b95.

* It got the way of an heisenbug and it seems this change
  fixed the problems, but after 2 days the media_server returned
  to block. Sorry about that! Will investigate further.
2015-08-03 01:19:28 +02:00
Dario Casalinuovo
75b9de169f MediaDefs: Fix percentage in when notifying the system
* Use TRACE instead of PRINT.
2015-08-03 01:19:28 +02:00
Michael Lotz
8982293017 tcp: Whitespace cleanup, move a define to header and fix a typo. 2015-08-02 23:21:12 +02:00
Michael Lotz
bed94ebc49 tcp: Change timestamp factor from 1024 to 1000.
It is the conversion factor between the milliseconds tcp time and the
microseconds system time, so 1024 does not make much sense.
2015-08-02 23:21:12 +02:00
Michael Lotz
94fb06bfce tcp: Fix early cancellation of timers on socket free.
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.
2015-08-02 23:21:12 +02:00
Michael Lotz
bc49140bab tcp: Add APICall trace entry and move TRACEs into locked parts.
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.
2015-08-02 23:21:11 +02:00
Michael Lotz
05220224ff tcp: Split Timer trace entry into Timer{Set|Triggered}.
Trace whenever a timer is (re-)set as well as when it triggers. A value
of -1 denotes the cancellation of the timer.
2015-08-02 23:21:11 +02:00
Michael Lotz
01b0f935ec tcp: Move persist timeout value to a define in the header. 2015-08-02 23:21:11 +02:00
Michael Lotz
5f7749078e tcp: Fix retransmit logic to avoid lots of spurious retransmits.
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.
2015-08-02 23:21:11 +02:00
Michael Lotz
da8fbe0e59 tcp: Replace custom WaitList with ConditionVariable.
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.
2015-08-02 23:21:10 +02:00
Michael Lotz
2fdea65c3a tcp: Fix 64 bit build with debugging features enabled. 2015-08-02 23:21:10 +02:00
Michael Lotz
86b5886640 BReferenceable docs: Fix a typo and one obvious mixup. 2015-08-02 23:19:07 +02:00
Michael Lotz
f9a8f3e727 Clean up various whitespace and fix one header guard. 2015-08-02 23:19:07 +02:00
Jérôme Duval
31afee2773 Update binutils packages.
* only the version format string differs.
2015-08-02 14:48:01 +02:00
Jérôme Duval
0a0b817fd5 Update coreutils and xz_utils packages. 2015-08-02 14:07:00 +02:00
Humdinger
1102b7e184 Added packages for Clipdinger for x86 and x86_64 platforms. 2015-08-02 13:23:17 +02:00
Humdinger
5dc23a0514 Update Clipdinger package to v0.4.
Fewer bugs. More favorites.
See http://humdingerb.github.io/clipdinger/
2015-08-01 19:16:37 +02:00
Stefano Ceccherini
7019117402 ChannelSlider: Remove original look.
The Thumb returned by BChannelSlider::ThumbFor() is currently ignored.
2015-08-01 15:04:13 +02:00
Stefano Ceccherini
0b421b8025 ChannelControl: Implemented SetLimitLabelsFor().
Implemented without testing how it's done on BeOS.
Moreover, I have no idea if, when and where these labels should be drawn.
2015-08-01 15:00:36 +02:00
Stefano Ceccherini
a361dc5a17 Update ChannelSliderTest to add limit labels for individual channels 2015-08-01 15:00:36 +02:00
Jérôme Duval
ed92a10520 diffutils: use the outsourced packages.
* remove diffutils Jamfile from the build and diffutils sources from the tree.
2015-08-01 14:04:10 +02:00
Jérôme Duval
8191765025 Updated binutils, help2man, sqlite packages.
* added diffutils, mpc, mpfr packages.
2015-08-01 13:31:01 +02:00
autonielx
0bce02f1de Update translations from Pootle 2015-08-01 06:38:35 +02:00
Rene Gollent
5e95945071 Debugger: Cleanup.
ThreadHandler:
- Simplify SetBreakpointAndRun() to always use the debugger interface to
  continue execution, since the latter is now intelligent enough to determine
  how to handle that in all cases. Adjust callers accordingly.
2015-07-31 17:28:02 -04:00
Rene Gollent
27dec4bb1e user_debugger: Adjust handling of continue request.
- B_DEBUG_MESSAGE_CONTINUE_THREAD now checks if the thread in question
  is in a suspended state rather than waiting on the debug nub port, and
  if so, handles resuming it automatically. This allows the continue message
  to be used on the main thread of a team that was freshly created under
  debug control without the API user having to be cognizant of the distinction.
2015-07-31 17:28:00 -04:00
Jérôme Duval
20ed88dd96 GLTeapot: fix gcc2 build. 2015-07-31 20:15:45 +02:00
Augustin Cavalier
9bec480a7d PackageInstaller: Fix the build.
Previously, <stdlib.h> wasn't included (which is where environ is),
but Axel changed some Be API headers and now it is indirectly included,
which broke the build.

Fixes #12263.
2015-07-31 11:02:33 -04:00
Rene Gollent
3333f96888 SplitLayout: Fix #12261.
- SetItemCollapsed()/IsItemCollapsed() didn't properly handle inverting
  values when mapping between the collapsed flag and the layout item's
  internal visibility flag, leading to them having the opposite semantics
  from what their name would suggest.
2015-07-30 22:33:36 -04:00
Axel Dörfler
6306a2634b launch_daemon: Set working directory to user's directory.
* This fixes #12257.
2015-07-30 22:56:42 +02:00
Jérôme Duval
b4665f9a59 HttpForm needs another friend class for GCC6. 2015-07-30 22:25:19 +02:00
Adrien Destugues
82a6fd69f7 cpctools package: include png2crtc. 2015-07-30 22:11:14 +02:00
Adrien Destugues
29584b3fc4 Add packages for libdsk and tools. 2015-07-30 21:57:48 +02:00
Adrien Destugues
3159417f29 Add packages for vasm,vlink,exomizer,cpctools. 2015-07-30 21:53:53 +02:00
Augustin Cavalier
5ae4185d33 PatchBay is an application, not a test. 2015-07-30 14:28:35 -04:00
Axel Dörfler
7b0ff5c6e6 BAlert: use layout API, allow any number of buttons.
* Added default constructor; you can now alter the complete behavior
  via setters, and also add buttons afterwards.
2015-07-30 19:50:03 +02:00
Axel Dörfler
e27a53b231 BTextView: implemented height-for-width when read-only.
* This is not an ideal implementation, as it actually relayouts
  the text view. IOW it's actually wrong, but it does seem to
  work without any issues.
2015-07-30 19:49:58 +02:00
Axel Dörfler
fd3e3e7bfb BTwoDimensionalLayout: Removed duplicated code.
* Probably some refactoring leftovers.
2015-07-30 19:49:53 +02:00
Axel Dörfler
99b4affab6 Added BWindow::ResizeToPreferred().
* B_AUTO_UPDATE_SIZE_LIMITS only really makes sense for resizable
  windows, and it only sets the minimum/maximum window size.
* ResizeToPreferred() resizes the window to its preferred size, and
  also supports height-for-width layouts.
2015-07-30 19:49:48 +02:00