Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler 2cb706444f * Check HAIKU_ADD_ALTERNATIVE_GCC_LIBS against 1 to allow a setting of 0 to
work as usual.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-20 18:44:54 +00:00
Axel Dörfler a41cc8a74b * Fixed build on the Haiku platform.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-20 16:18:39 +00:00
Axel Dörfler a3b42949e5 * Fixed sub-directory mix-up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-20 13:11:24 +00:00
Axel Dörfler 4dfce2e401 * We cannot include the SystemKeymap.h with the tool that is supposed to
generate it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36370 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-20 12:38:41 +00:00
Axel Dörfler 910f10f2fc * Added libshared_build.a, currently only contains Keymap.cpp.
* keymap and <build>keymap are now using the BKeymap class as a base as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-20 08:17:07 +00:00
Axel Dörfler 624693f0c8 * Added the BFileIO class to libbe_build.so.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-20 08:13:57 +00:00
Axel Dörfler 697e17ffcd * The scroll_lock also counts as a modifier; this was obviously not present
in all Keymap variations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-20 07:49:24 +00:00
Axel Dörfler b44c25de42 * Factored out a single base class out of the three Keymap implementations we
had in our tree.
* Adapted Keymap, <input>keyboard, and consoled to use it - the additional
  functionality is implemented via a subclass in the first two cases.
* "keymap" will come next.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-16 07:47:41 +00:00
Axel Dörfler 362b036d1a * Applied a slightly edited patch by Christophe Huriaux, as part of ticket
#5724: this adds a settable filename for the silent invocation, thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 18:25:51 +00:00
Axel Dörfler e3ce6e4be5 * Added warm reboot functionality based on a patch by Grey, thanks! It can be
invoked using the 'w' key.
* Checking allocations doesn't hurt.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 18:10:00 +00:00
Axel Dörfler 868aa7a0e0 * Added shortcut handling to the boot loader menu (in preparation of adopting
ticket #5312).
* Added shortcut 'b' to continue booting, 'r' to reboot.
* Consolidated asterisk style.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 18:07:40 +00:00
Axel Dörfler 7af231d838 * Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 17:05:20 +00:00
Axel Dörfler 024bc08b2f * Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 15:51:47 +00:00
Axel Dörfler 24386c2937 * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 15:33:20 +00:00
Axel Dörfler 87e256c2e8 * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 15:32:56 +00:00
Axel Dörfler e486a4d0dc * Moved consoled to bin/ - it's not really a test application.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 15:32:00 +00:00
Axel Dörfler fba2ee2527 * We should check for the I/O APIC before mapping it (since we panic if mapping
it failed...).
* Moved IRQ table reading much earlier (before starting to program the I/O
  APIC), though it currently fails, possibly because the device manager isn't
  up yet, and there is no embedded controller driver.
* The kernel now enables I/O APICs by default, but the boot loader disables
  them - you can now enable them using the safe mode menu, but it currently
  won't have any (positive) effect.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 13:54:15 +00:00
Axel Dörfler 8f49507c1d * Added MSI support (might help with bug #5511).
* Fixed wrong return type from wpi_read_prom_data().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 13:04:05 +00:00
Axel Dörfler edd8c1c247 * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 13:02:35 +00:00
Axel Dörfler 9de17be600 * Moved I/O APIC initialization to a later point, now the APCI and DPC modules
can safely be used.
* Since using the I/O APIC is disabled by default, I've removed the "return"
  that prevented its use when enabled. Let's see if it already does anything.
* Adapted other arch_int.cpp with a bit of cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 12:42:10 +00:00
Axel Dörfler e1bef3de00 * Use send_signal_etc() instead of resume_thread() to prevent immediate
rescheduling; this allows DPC queues to be created before the scheduler is
  running.
* Removed BeOS R5 support.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 12:31:56 +00:00
Axel Dörfler 7380abeb44 * Implemented the debugger mode for the USB keyboard driver.
* Made the USB keyboard driver safe to be used from more than one team - only
  the first one will be able to retrieve any keys. Before, since there was no
  locking, internal structures would have been messed up in that case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 09:03:32 +00:00
Axel Dörfler 8ef609cc5f * Now actually launch more than one keyboard thread (before that would have
worked only if all drivers were in one directory).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 09:00:11 +00:00
Axel Dörfler 7089514138 * Pass the cookie to ProtocolHandler::Close() as well.
* Removed superfluous semicolons.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 08:31:50 +00:00
Axel Dörfler 447b0afd93 * Use const where appropriate.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 08:18:37 +00:00
Axel Dörfler 2feb1a7f3a * consoled now opens all drivers that support the debugger mode, and runs a
thread for each of them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 08:10:13 +00:00
Axel Dörfler 48450caac5 * Prepared driver for the implementation of the debugger mode: there is now a
uint32 cookie that is saved per file handle and passed to the ProtocolHandler
  objects.
* Beware that the output of the driver no longer shows the handler as pointer,
  but the internal device cookie.
* Added handling of KB_SET_DEBUG_READER to the KeyboardDevice class (it just
  doesn't do anything with that).
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 21:59:15 +00:00
Axel Dörfler 2c49465329 * Removed the at_kbd_io and AT keyboard stuff; this is now done within the PS/2
driver, and that driver is using the raw_key_info structure as well.
* Renamed kb_mouse_driver.h to keyboard_mouse_driver.h.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 19:19:14 +00:00
Axel Dörfler 19049c8bd3 * Removed now unused header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 19:16:30 +00:00
Axel Dörfler a608485f26 * Added new team flag B_TEAM_DEBUG_PREVENT_EXIT that prevents teams from exiting
via exit() (the calling thread will drop into the debugger instead).
* The DebugServer now uses this flag by default.
* Added TODO comment: the default debugger should already be able to set a flag
  like this in order to close a race condition between dropping a thread into
  the debugger and setting the flag.
* Cleaned up the debug_server sources a bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 18:03:48 +00:00
Axel Dörfler f3cf9af6bf * Fill the gap between a write and the former file size with zeros, too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 14:36:02 +00:00
Axel Dörfler b26f67513b * Added a test application that show that BFS does not care to fill the space
between the former end of the file and the position of a write with zeros
  as required.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 14:30:34 +00:00
Axel Dörfler 39aab96e4c * Removed the old keyboard driver - it's no longer needed as consoled no longer
uses it.
* While I were at it, I removed the ps2mouse driver as well, as well the whole
  arch directory (as it is otherwise empty).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 13:06:12 +00:00
Axel Dörfler 467ce4205b * consoled no longer talks to its own keyboard driver, but uses the new debugger
feature of the usual keyboard drivers (it currently only uses the first one
  always, though, instead of all of them).
* Also, it now loads your current keymap from disk, so you don't need to adapt
  to a different keymap anymore. However, right now, it does not have a built-in
  keymap, so this won't work if there is no Key_map file. This will be done 
  later with some more cleanup.
* It now prints error messages to the syslog/serial as well over debug_printf().
* Removed the BeOS R5 input server mode support.
* Some more cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36260 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 12:56:57 +00:00
Axel Dörfler 64e57f07ce * Added a bit of code to Keymap that lets it load a keymap from disk; I might
unify the three or so version we have of that class into one in the not so
  distant future.
* Moved the AT keycode map into its own file.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36259 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 12:51:44 +00:00
Axel Dörfler d97b5913aa * Fixed incorrect indentation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36258 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 12:49:12 +00:00
Axel Dörfler 2f0568369b * Added missing include dependency from input_server to SystemKeymap.h.
* Removed superfluous package rules.
* 80 character per line cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36257 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 12:47:18 +00:00
Axel Dörfler 897ca37d52 * Introduced a new debugger access to the keyboard drivers, and implemented that
in the PS/2 driver for now. The basic idea is to allow everyone to open the
  device, but only allow one key reader (as usual). However, once someone
  registers itself as a debugger, the original reader is blocked, and the
  debugger can read the key presses instead.
* Renamed ps2_keyboard.c to .cpp.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 12:30:23 +00:00
Axel Dörfler 3856867b03 * Made C++ safe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36255 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 12:20:30 +00:00
Axel Dörfler a1b2e9e959 * Removed F8 and F12 keys again, see comments to bug #5163.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36233 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 18:25:56 +00:00
Axel Dörfler 780d7cab55 * Removed extra space in the about window.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36226 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 15:28:41 +00:00
Axel Dörfler be982b9cd5 * Only restore the previous playing position when there is a file that is
currently playing; this fixes the the problem I mentioned in a comment in
  bug #3855.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36224 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 15:23:03 +00:00
Axel Dörfler bafcab9265 * Minor cleanup, no functional changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36222 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 15:11:39 +00:00
Axel Dörfler 72d2b96592 * Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 14:23:10 +00:00
Axel Dörfler ef9dbf80c1 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 13:36:53 +00:00
Axel Dörfler fefe246c70 * Set the exit status for the main thread as well in _user_exit_team().
* This closes bug #5713.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 13:29:56 +00:00
Axel Dörfler d2e28b603d * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 13:14:10 +00:00
Axel Dörfler 15c81466c4 * Reverted part of r34474 that broke binary compatibility.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36212 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 13:01:56 +00:00
Axel Dörfler 69bffde17e * The AccelerantHWInterface now prints a message to syslog if an accelerant
doesn't have the correct interface.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36211 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 12:27:05 +00:00
Axel Dörfler f735ce7d79 * Make sure Shutdown() can be called more than once (ie. reset the members as
needed).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 12:23:01 +00:00
Axel Dörfler 2e7bd0169f * The kernel daemon no longer hold its lock when calling the registered hooks.
* This fixes bug #5421.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 12:09:56 +00:00
Axel Dörfler f46308c92a * More header cleanup, continuing korli's work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36206 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 09:48:02 +00:00
Axel Dörfler 2d4ce06468 * Changed the latency computation a bit to make it somewhat clearer.
* Only report lateness if it is beyond the accepted jitter.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36205 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 21:51:40 +00:00
Axel Dörfler d0085d25d1 * We now limit the maximum latency in MediaPlayer and the audio mixer, as a
latency can easily get annoying if too high.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 20:53:15 +00:00
Axel Dörfler 8dd3060da4 * The AudioProducer now correctly handles late producer notices by ignoring
extra notices for buffers already scheduled.
* Also, the AudioSupplier/AudioReader classes now know their initial latency,
  and the AudioProducer is now using that one to advertize its own initial
  latency - this fixes late buffers on start, causing the latency to grow
  too large.
* Cleanup here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 20:36:19 +00:00
Axel Dörfler 99e658c3e9 * Accidently replaced the copyright incorrectly; I got the permission from
Marcus to change the copyright to MIT, not to reassign it to someone else.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 14:32:56 +00:00
Axel Dörfler b289aaf66b * A BBuffer does not know where it came from, so
BBufferConsumer::BufferReceived() cannot know whom to send the "buffer is
  late" notification (unless we only have a single input). To solve this, the
  media_header now contains extra fields that can be used to create a
  media_source object.
* Unfortunately, BBufferProducer::SendBuffer() cannot know the output either in
  case there is more than one. Hence, I deprecated the existing SendBuffer()
  call and moved it into "private" - IOW old sources using it won't compile
  anymore under Haiku.
* I introduced a new SendBuffer() variant that also gets the media_source as
  argument.
* Updated all sources (that are part of the image) to use the new variant.
* Removed some purposely commented out code in the audio mixer.
* Implemented late buffer notification, as well as late buffer handling in the
  audio mixer; this is a bit of work in progress, so the debug output is left
  in there.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-12 13:15:46 +00:00
Axel Dörfler 7c86c0a813 * Corrected comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 20:45:23 +00:00
Axel Dörfler ee0d2be9e4 bonefish+axeld:
* Implemented a tiny bit more sophisticated version of
  estimate_max_scheduling_latency() that uses a syscall that lets the scheduler
  decide.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36170 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 20:40:58 +00:00
Axel Dörfler b6486ac2c0 bonefish + axeld:
* When moving a window to another workspace (using the mouse or the keyboard),
  the fLastWorkspaceFocus array of the old workspace could still point to that
  window.
* This could also lead to a stale pointer and might have caused crashes in
  SetFocusWindow(). This should fix #5124, and its duplicates #5294, and #5688.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 19:12:39 +00:00
Axel Dörfler 216073afd7 * BTextView::CountLines() counts correctly in Haiku, so the BeOS work-around of
correcting it is no longer necessary. This should fix having the last line
  not quoted in Mail when doing partial replies.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 15:08:54 +00:00
Axel Dörfler 1a1a8f33d1 * Applied patch by Janito that solves a TODO and utilizes the actual device
block size to align the file map.
* This closes ticket #5707, thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 12:05:59 +00:00
Axel Dörfler 275463f4c3 * Applied (changed) patch by Janito to update the superblock structure to its
latest version. Thanks!
* This closes #5704.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 11:48:51 +00:00
Axel Dörfler 022760a24a * Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 09:18:09 +00:00
Axel Dörfler 16e8f13a63 * Applied patch by Vegard that moves the resolver configuration to where it
belongs (with a few changes by myself). Thanks!
* This closes ticket #5636.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 09:07:35 +00:00
Axel Dörfler e572c32335 * When receiving an out of sequence FIN we must ignore it until its part of
our available buffer (we might want to move this into the BufferQueue class).
* Now, _AddData() remembers the flag (and its position), and will alter the
  segment's flags field to reflect the current state.
* This fixes not being able to login into mmlr.dyndns.org.
* Fixed warnings when TCP_PROBE is defined.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 00:04:23 +00:00
Axel Dörfler 7f0bff63d0 * Fixed typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 07:05:20 +00:00
Axel Dörfler 61fb53ddc5 * The usual cleanup behind mmu_man ;-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-29 18:22:04 +00:00
Axel Dörfler 37a68cb1f2 * Renamed kRequiredParameters to kRequestParameters as suggested by Vegard.
* Cleaned up some style issues introduced by Hugo a while back.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-26 12:31:46 +00:00
Axel Dörfler bfd479b3b6 * Also request the domain name, patch by Vegard Wærp in ticket #5633.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-26 12:24:38 +00:00
Axel Dörfler fe735fc4c4 * As long as we don't support IPv6, we shouldn't prefer it when AF_UNSPEC is
used in getaddrinfo() (this solves "localhost" being resolved to ::1 by
  default).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-24 16:26:47 +00:00
Axel Dörfler 3d019c5f63 * Added missing IPv6 defines based on a patch by Andreas Färber in bug #5608.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-22 23:25:29 +00:00
Axel Dörfler 47f23fb5c1 * If get_cached_block() failed reading a block, it would leave a deleted object
in the unused list if it got the block via block_cache::_GetUnusedBlock().
* block_cache::_GetUnusedBlock() leaked the compare data block if the
  BLOCK_CACHE_DEBUG_CHANGED feature had been enabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-10 10:57:37 +00:00
Axel Dörfler a9022acd2a * BlockAllocator::CheckNextNode() did enter an endless loop if it experienced
problems iterating over a B+tree (due to corruption).
* For now, it will stop the check process when this happens, but we definitely
  need to be able to fix broken B+trees in the future.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-09 20:08:25 +00:00
Axel Dörfler 5edde94cab * checkfs is now working again; I couldn't test my earlier changes because I had
no time left, but I didn't want to lose them either.
* This fixes bug #5536, sorry for the inconvenience.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35770 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-06 13:47:50 +00:00
Axel Dörfler d501707d8a * Removed the cookie field of the check_control structure; that really was
a stupid idea. Instead, the already existing fCheckCookie member is used.
* bfs_ioctl() now accesses all userland buffers safely, this should help with
  #3264, and move the crash where it belongs.
* Changes not yet tested; they only affect checkfs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-03 19:38:56 +00:00
Axel Dörfler 625ab0dea1 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-03 19:20:51 +00:00
Axel Dörfler 88f1263865 * The slab_cache command now also dumps the actual slab lists.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35737 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-03 15:15:49 +00:00
Axel Dörfler 6a7f219c8d * block_notifier_and_writer() will now flush 1000 blocks when reaching the soft
memory limit.
* Improved debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35735 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-03 14:39:26 +00:00
Axel Dörfler 0181fe4b21 * Replaced cached_block::accessed (the number of accesses) with last_accessed
(the time of the last access), as what we really want is a frequency/last
  access time scoring, and accessed alone is useless for that.
* put_cached_block() no longer frees any unused blocks.
* The low memory handler will now only lock the cache if there is something
  to do. Also, it did not take address space warnings into account.
* Even when memory is critical, we don't free all unused blocks anymore - if
  the number of blocks we free now (10000) is not sufficient to get out of the
  critical condition, chances are good that we will be called again :-)
* block_notifier_and_writer() now tries to make sure that the total block cache
  memory consumption grows not much larger than half of the available RAM.
* This should all help to limit the block cache usage a bit better. Hopefully,
  a checkfs run will no longer run out of memory here (couldn't test yet).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-03 10:28:57 +00:00
Axel Dörfler 9562c7f592 * Fixed #4339 - I did not use stimut's patch (but thanks a lot, I wouldn't even
have started looking into it without it!), but solved it a bit differently by
  moving the state saving into the destructor, and removing the tab in question
  manually afterwards.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-02 18:44:28 +00:00
Axel Dörfler 1c164de7d2 * Quick&dirty fix of a race condition that caused an endless loop in
object_cache_alloc(): the ObjectCache::total_objects count was increased in
  ObjectCache::InitSlab(), but the slab was really only added at a later point
  between the cache could be unlocked.
* If a second object_cache_reserve_internal() managed to be called while the
  lock was unlocked, it would see that there has to be space available, and
  will then return -- however, since the other thread could not yet place the
  slab into the cache, object_cache_alloc() cannot find it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-01 16:35:17 +00:00
Axel Dörfler 2056103694 * Added the standard names for the TCP states as comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-01 16:21:44 +00:00
Axel Dörfler 791b130291 * Fixed a possible NULL pointer access in case the list is empty.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-25 13:21:40 +00:00
Axel Dörfler 51e29291d2 * We now create the /tmp directory if it does not exist yet.
* Also, we now empty it if it already exists.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35614 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-25 10:40:58 +00:00
Axel Dörfler 6426413dcb * Also print the maximum full count, and the magazine capacity when being
dumped.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-24 15:08:52 +00:00
Axel Dörfler f52b12e51a * Added a peak value (the maximum number of allocated objects) to the net_buffer
stats.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-24 15:08:06 +00:00
Axel Dörfler ff59ce680d * The low resource handler now empties the cache depot's magazines; before,
they were never freed unless the cache was destroyed (I just wondered why
  my system would bury >1G in the magazines).
* Made the magazine capacity variable per cache, ie. for larger objects, it's
  not a good idea to have 64*CPU buffers lying around in the worst case.
* Furthermore, the create_object_cache_etc()/object_depot_init() now have
  arguments for the magazine capacity as well as the maximum number of full
  unused magazines.
* By default, you might want to initialize both to zero, as then some hopefully
  usable defaults are computed. Otherwise (the only current example is the
  vm_page_mapping cache) you can just put in the values you'd want there.
  The page mapping cache uses larger values, as its objects are usually
  allocated and deleted in larger chunks.
* Beware, though, I couldn't test these changes yet as Qemu didn't like to run
  today. I'll test these changes on another machine now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-24 14:43:20 +00:00
Axel Dörfler 9d071e27f1 This should finally nail #5415:
* Since the same block can be in up to two transactions, it's very well possible
  that one shouldn't write all transactions in a single run.
* Forgot to pass on the iterator from BlockWriter::Add(transaction) to
  Add(block).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-21 20:03:52 +00:00
Axel Dörfler f24e3c9f1e * Fixed warnings and coding style violations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-21 17:22:34 +00:00
Axel Dörfler 606105c62c * Reduced the maximum lock time to roughly a quantum (a little less might even
be better, though).
* This might help further with #4709.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-21 11:51:40 +00:00
Axel Dörfler 75e7a5adae * Added simple test application to be able to see node monitoring messages
in order to reproduce bug #5405.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-19 21:35:46 +00:00
Axel Dörfler b9fa1de995 * Fixed incomplete cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-19 21:31:59 +00:00
Axel Dörfler 7c69435755 * Applied patch by idefix that disables the "Initialize" button if the name
field is empty. This is part of ticket #4123.
* The message constants should be moved into their own shared
  header, though; added a TODO for this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-19 17:22:54 +00:00
Axel Dörfler a791687e90 * Applied slightly cleaned up patch by romain that sanitizes the volume names.
* This closes bug #4602.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-19 16:52:55 +00:00
Axel Dörfler 63b69bec3c * Applied patch by Andreas Färber as part of #5319.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-19 16:44:55 +00:00
Axel Dörfler 2b9ec0a9aa * Added SudokuField::IsEmpty() method.
* The window now automatically generates a new sudoku if empty on start.
* Made SudokuField::IsSolved() const.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-19 09:16:11 +00:00
Axel Dörfler c5e52ecb78 * cache_sync_transaction() now puts all blocks into the BlockWriter, and
therefore does not unlock anymore while iterating over the transactions.
  This gave other threads the opportunity to finish a transaction, causing
  bug #5412. Also, the BlockWriter will now always close transactions on its
  own, and you need to pass the transaction hash iterator to Add().
* Also, transactions that contain blocks that are currently written back will
  be ignored by the block writer, as well as cache_sync_transaction(). This
  fixes bug #5415.
* Improved error handling if BlockWriter fails to write back blocks. Most
  notably, they are no longer left busy_writing, and the functions calling
  it do proper error reporting (besides block_cache_discard() that does not
  return any erro code; I've added a TODO note there for now).
* The BlockWriter now starts with a larger array once it has to allocate one.
* One can now limit the number of blocks that go into a BlockWriter. This is
  used by the block writer thread, that shouldn't always write back everything
  every two seconds.
* Also, the fixed array is larger now (leaving enough space such that the
  block writer/notifier does not need to allocate anything).
* And finally, if allocating the array fails, the BlockWriter falls back to the
  synchronous write back used previously. IOW it will never write back less
  blocks than you ask for.
* Added static BlockWriter::WriteBlock() method replacing write_cached_block().
* Forgot to rename block_cache::busy_count to busy_reading_count.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-17 16:36:40 +00:00
Axel Dörfler 8941a2ba08 * Fixed compilation with PARANOID_HEAP_VALIDATION turned on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-17 15:40:02 +00:00
Axel Dörfler 04761ff76d * Updated the "tmp" directory location that the Installer creates on finish,
good catch, Matt!
* This closes at least a part of ticket #4844.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-16 22:19:37 +00:00