Commit Graph

54281 Commits

Author SHA1 Message Date
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
Dario Casalinuovo
7bdc7eec03 Media: Refresh window also at QUIT event.
* Since the Media preferences are always watching for media
  status, it's good to clean up the window when the media services
  are not running. This avoid the user try to use controls where
  services are down.
2015-07-30 19:14:13 +02:00
Dario Casalinuovo
922d2034b2 Media: Reinit media also when the restart thread finish 2015-07-30 13:23:27 +02:00
Dario Casalinuovo
1ce097dbb0 BMediaRoster: Wait with more calm for services to be up.
* Needed to avoid the app restarting things too fast. This
  is a problem that should be solved, added a TODO.
2015-07-30 13:23:24 +02:00
Automatic Committer
5f01992f3a Update pci.ids from pciids.sourceforge.net 2015-07-30 05:20:27 +02:00
Adrien Destugues
f93dab03ec getifaddrs: don't fail if there are no interfaces.
* This is not an error, just return an empty list.
* Same behavior as *BSD implementation.
2015-07-29 22:54:49 +02:00
Adrien Destugues
2df7158917 DHCPClient: don't use AI_ADDRCONFIG
* The DHCP Client is the one configuring interfaces, so it makes no
sense to request address resolution for already configured interfaces
only.
* Fixes #12208
2015-07-29 22:54:47 +02:00
Augustin Cavalier
f9ab315e02 DHCPClient: Check return code of SetAddress().
This should break DHCP for everyone it currently works for (according
to our analysis). If it doesn't, we have yet another (set of) bug(s).
2015-07-29 15:06:04 -04:00
Augustin Cavalier
b3e2208e52 ffmpeg plugin: Remove [L]GPL, FFmpeg is not in the tree anymore. 2015-07-29 15:02:21 -04:00
Augustin Cavalier
1c62023701 NetworkAddress: Fix things yet again.
If I had used my head instead of blindly c&p'ing the suggested code
from Axel's message, I would have realized that Unset() unsets fStatus
too. Not a bright thing to do on my part...
2015-07-29 15:00:53 -04:00
Augustin Cavalier
1690d2f4dd BNetworkAddress: Fix review comments (again).
Axel changed his mind about the status on Unset(), and I messed
up the fStatus setters.
2015-07-29 14:41:55 -04:00
Dario Casalinuovo
7482390ab4 Media: Improve both notifications and quit mechanism
* Media is now waiting for media_server to start if the window
  is closed before to finish, this was proposed by stippi.
* Moved out anything related to notifications as they are now
  managed by the media_kit.
* Solved some TODOs and minor issues too.
2015-07-29 18:05:04 +02:00
Dario Casalinuovo
8acd164f8c Add new version of launch_media_server
* Due to the needs to provide a peaceful UX, i moved out the
  notifications mechanism from the Media preflet and i have
  integrated it with the launch and shutdown functions of MediaDefs.h.
* This implied to introduce a new launch_media_server function
  similar to the shutdown_media_server allowing to specify a custom
  notification function too.
* Both functions then are reworked to send by default notifications
  to the Deskbar, this was needed because in a lot of situations
  the mechanism failed without correctly noticing the user.
* The one argument launch_media_server is considered to be deprecated,
  the default argument is removed to mantain binary compatibility but
  make new apps to automatically use the new one with just the default
  arguments. This is needed due to conflicts in overloading.
* Improve notifications by indirectly extending localization
  to old BeOS apps.
2015-07-29 18:03:32 +02:00
Stefano Ceccherini
e716f48778 ChannelSlider: don't check be_control_look for NULL
Also if0 the code that draws the old/dano look so it's more clear that
it's not called intentionally.
2015-07-29 15:20:11 +02:00
Fredrik Holmqvist
0cd38980a3 Add unit tests specific for #12208. Pass depends on network.
NetworkAddressTest passes (most) tests when you have network.
When no network interface (ie -net none in QEMU) tests take forever and
more tests fail.
When network interface exists but is disabled in Haiku, tests are fast but
more tests fail.
2015-07-28 22:13:23 +02:00
Stefano Ceccherini
9b7802354f BChannelSlider: Fixed memory leak.
At least, I think so.
Check allocations in BChannelSlider::ThumbFor()-
Also updated copyright and e-mail address.
2015-07-28 21:40:21 +02:00
Augustin Cavalier
ef34aca426 WebPositive: Fix "new tab opens search page".
Fixes #12251.
2015-07-28 13:24:17 -04:00