Commit Graph

54422 Commits

Author SHA1 Message Date
Adrien Destugues
0a02f8c287 LaunchDaemon: use setenv to set HOME env variable.
* The API is saner: no need to build a string with var=value
* It is safer: putenv requires the string passed to it to stay
allocated, although most implementations (Haiku, Linux, BSD, OSX) do not
follow POSIX on this,
* Fix a problem reported in #12298 comments because the variable was set
with extra quotes (putenv does not escape them), leading to Qupzilla not
finding the home dir.
2015-08-12 18:08:32 +02:00
Stefano Ceccherini
ff8c8dfc17 Improve patch in ticket #9377
Instead of locking the interface lock, set it busy and then unlock the
interface list lock.
2015-08-12 15:22:42 +02:00
Stefano Ceccherini
a48ef9e817 AppServer: check for NULL bitmap.
Consistently check for NULL the ServerBitmap pointer.
There seems to be cases where BView::DragMessage could pass an invalid
Bitmap token to app_server.
Maybe it's when a client only bitmap is passed, I don't know.
Anyway, this is defensive programming, and at least we check for NULL
consistently now.
This fixes #11681.
Note that SuperFreeCell still crashes, but at least app_server doesn't crash.
2015-08-12 00:40:06 +02:00
Stefano Ceccherini
f2de125b8c Removed code path for be_control_look == NULL.
Adjusted TODO comment.
2015-08-11 23:24:46 +02:00
Humdinger
26cc9e9e07 Small cosmetics for the preference panel
* Prevent the scrollview from jumping vertically when selecting a service
* Glue the services view to the top
2015-08-11 19:05:04 +02:00
Rene Gollent
422b0ec754 libroot: Fix issue reported in ticket #12291.
fts.c:
- Our fts functions were imported from FreeBSD and consequently did not
  use the same weak alias methodology that most of our glibc-derived
  POSIX functions do. These subsequently wound up clashing with the
  implementation of said functions in current versions of coreutils,
  resulting in assertion failures when e.g. running a program through
  stdbuf, since the BSD-derived functions had different flag constraints
  than their GNU peers. Consequently, this change adjusts the fts_*
  family of functions to similarly be exported as weak symbols so they
  can be preempted.
2015-08-10 17:01:35 -04:00
Michael Lotz
7cef8ca2fe Tracker: Fix regression introduced in hrev49011.
If the view fails to lock because it is actually gone, we obviously
can't use it to return the container, so delete it directly in that
case.

Fixes #12072 and probably #11982 which would then be a duplicate.
2015-08-10 21:48:26 +02:00
Adrien Destugues
1379e2b328 Add packages for 2cdt, d52, radare2 and dependencies. 2015-08-10 19:10:58 +02:00
Adrien Destugues
23efd95ed7 French keymap: add some missing symbols.
Most of the changes inspired from the "fr-latin9" map from Linux, but I
went with a different mapping because we also want some symbols later
introduced in Unicode, and also because we already had a different (and
I think better) mapping for some of the extra symbols in latin-9.

The keymap now features:
* Uppercase accented vowels, cedilla, spanish n with tilde
* Mathematical symbols for multiplication/division
* Spanish reverse exclamation and interrogation points, and interrobang
* Various other symbols from the latin-9 character set
2015-08-09 12:05:57 +02:00
Jérôme Duval
d95c6fc46b Updated curl and openssh packages. 2015-08-09 08:00:19 +02:00
Rene Gollent
03bf949ed4 launch_daemon: Correctly fix #12289 as pointed out by Axel.
- Rather than depending just on mount_server's launch, instead use
  a condition that waits for the volumes mounted event. Had missed
  the existence of this one previously.
2015-08-08 17:12:17 -04:00
Dario Casalinuovo
d796a63b4f MediaKit: Other style fixes
* Thanks to Marcus for reviewing, this is what happen when
  you mess out with the TODO list.
2015-08-08 20:26:28 +02:00
Augustin Cavalier
7d407a1e99 BLooper: Fix inverted check that was causing a port leak.
Fixes #12286. Thanks to ttcoder & jackburton for investigating!
2015-08-08 11:38:16 -04:00
Dario Casalinuovo
6ca16f31cb MediaKit: Style fixes 2015-08-08 15:25:52 +02:00
autonielx
659d55b41b Update translations from Pootle 2015-08-08 06:31:42 +02:00
Rene Gollent
fdc32a3844 Launch configuration: Fix #12289.
- Adjust launch configuration such that media_server requires mount_server.
  Otherwise, if the user has specified sound files for any events that are
  on non-boot disks, these won't be found/loaded properly during the boot
  process.
2015-08-07 22:05:08 -04:00
Augustin Cavalier
f79c173b42 HaikuDepot: Fix 64-bit build. 2015-08-07 21:53:46 -04:00
Andrew Lindesay
b8d10c6dc6 HaikuDepot: Enhancements to the User-Agent header to include the version.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Fixes #12262.
2015-08-07 21:17:14 -04:00
Adrien Destugues
3749038b53 MouseDownThread: let thread terminate cleanly.
* Killing the thread leaks resources, and it will terminate cleanly and
safely when the destructor exits anyway.
* Fixes #12293. Thanks to ttcoder, jackburton and bonefish for investigating!
* Does not fix #12286. Going to bissect now...
2015-08-07 21:05:55 +02:00
Jérôme Duval
f6f96d9689 Update lz4 packages. 2015-08-07 17:57:27 +02:00
Jérôme Duval
3470d14d03 Update nano,mpg123,libmikmod,libpng16,libunistring packages. 2015-08-07 17:07:57 +02:00
Rene Gollent
08c57f1d3b Debugger: Fix #12291.
UiUtils:
- Fix incorrect check to see if we had hit the bounds of the current memory
  block that would cause us to overflow the block's data buffer if incorrect
  length values were passed in.
2015-08-06 17:51:15 -04:00
Automatic Committer
33c0e857dc Update usb.ids from www.linux-usb.org 2015-08-06 05:20:31 +02:00
Automatic Committer
e2bb78c206 Update pci.ids from pciids.sourceforge.net 2015-08-06 05:20:30 +02:00
Augustin Cavalier
3e50787c0e BCommandPipe: Fix memory leak.
CID 600866. Both the header and the source of the argv getter
clearly indicate that the caller must free the memory.
2015-08-04 10:59:05 -04:00
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