Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler 9a2cfc4ab1 * BaseDevice::InitDevice() and UninitDevice() must not be called with the devfs
lock held - that was a relict of the past.
* This fixes bug #2535.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-07 13:23:24 +00:00
Axel Dörfler d4b5a9b14e * The kernel daemon now uses a recursive lock instead of a mutex. This fixes
bug #3082.
* Also, it now allows to remove daemons in their hook function.
* Added a "daemons" KDL command that dumps all registered kernel daemons, and
  resource resizers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-07 12:22:05 +00:00
Axel Dörfler c73be1e843 * When switching to a workspace a window is on in ActivateWindow(), only
consider the workspaces in the configured count.
* If the window is not on the current workspace after the workspace check,
  always move it to the current instead. This lets windows on workspaces
  outside of the ones currently configured show up on the current workspace
  as if they had the B_NOT_ANCHORED_ON_ACTIVATE flag set.
* This fixes bug #3003.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-07 11:36:22 +00:00
Axel Dörfler 17a9716213 * Removed jpegtran from the image - this fixes the build (missing header).
* While I was at it, I also removed the extra screen savers until Ryan fixed
  the issue (bug #2339).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-07 09:25:41 +00:00
Axel Dörfler ca8c99dd8f * Renamed broadcom_bcm570x driver to broadcom570x.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-06 22:51:31 +00:00
Axel Dörfler 5d8428e023 * Changed to use Volume::InodeSize() over sizeof(ext2_inode) as described
in ticket #2707. Thanks Adrian!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-06 15:21:16 +00:00
Axel Dörfler 33309cb5fc * BWindowScreen::_InitClone() was broken, it called the "get clone info" method
on uninitialized accelerant, but that's what AS_GET_DRIVER_PATH is for.
* This should fix #2847.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-06 12:44:26 +00:00
Axel Dörfler 5074333ded * Updating glob() actually broke it, since Haiku does have broken mbrtowc(),
and wcrtomb() functions. I worked around the issue, and added a build
  warning so that we don't forget to change it back once we have working
  versions of those.
* This lets apps like "ftp", and "sftp" work again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-06 11:26:01 +00:00
Axel Dörfler d6db242bbd Brought ToDo file more or less up to date again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-05 21:37:28 +00:00
Axel Dörfler 2c1e463c7e * Removed B_{MIN|MAX}_PRIORITY from OS.h - they were never really intended
as public defines. They are now called THREAD_{MIN|MAX}_SET_PRIORITY to
  better reflect what they are for. Minimum priority is now 1, ie. you no
  longer can set another thread to the idle priority. This fixes part of
  ticket #2959.
* set_thread_priority() will no longer allow to change the priority of the
  idle thread to something else. This fixes the rest of ticket #2959.
* Automatic whitespace cleanup in OS.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-05 18:11:58 +00:00
Axel Dörfler 897a2e2113 * The block allocator now uses block_cache_discard() to make sure the file
and the block cache don't interfere when working on the same blocks.
* This has fixed all kinds of file corruptions I could reproduce before,
  therefore likely also bug #3010.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-05 16:09:47 +00:00
Axel Dörfler fbc2cd83dc * wait_for_notifications() must make sure that the order of the notifications
in the cache is the same as in the condition variable. It now uses the
  low-contention sCachesLock to accomplish this.
* Also added an ASSERT to make sure the notification is no longer part of the
  list at this point.
* Improved KDL command output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-05 15:22:58 +00:00
Axel Dörfler 7e621f16d0 * Use parse_expression() for argument parsing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-05 14:07:33 +00:00
Axel Dörfler a26045b7a6 * cache_detach_sub_transaction(), and cache_abort_sub_transaction() now support
discarded blocks correctly as well.
* cache_detach_sub_transaction() left cached_block::original_data unchanged even
  if the parent data was to become current (in case the sub transaction didn't
  change the block yet). This could cause outdated blocks to be written back.
* cache_detach_sub_transaction() also set cached_block::previous_transaction
  for all blocks, not just the ones with a previous transaction. This could
  cause blocks to be written twice for no reason.
* cache_start_sub_transaction() did not change the num_blocks count for
  discarded blocks.
* block_cache_discard() now panics if the block was already changed in the
  current transaction.
* Improved test application, added more tests, revealing the above bugs in
  cache_detach_sub_transaction().
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-05 13:52:34 +00:00
Axel Dörfler 2ecc2162bb * Now also sets the mutex::holder field (only present when KDEBUG is defind),
to make ASSERT_LOCKED_MUTEX() work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-05 11:54:09 +00:00
Axel Dörfler ddd20af422 * Fixed a potential race condition: when wait_for_notifications() is called
from the block notifier, the cache could be deleted before we have the chance
  to lock it. We now lock the sCachesLock, and see if this cache is still valid.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-05 11:16:04 +00:00
Axel Dörfler 11ab7172d9 * Make static initializers sort of work in the test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-05 11:05:02 +00:00
Axel Dörfler 96e19c19fc * The first functions now handle the "discard" flag correctly (namely
cache_end_transaction(), and cache_start_sub_transaction()).
* Further work on the test application, it's now actually usable, first test
  passes.
* dump_block() did erroneously print 'B' for the dirty flag; now both dirty and
  discard have the 'D' (3rd and 5th column).
* block_cache::LowMemoryHandler() is now private (and got an underscore prefix).
* Minor cleanup, shuffled some methods around.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-04 22:40:11 +00:00
Axel Dörfler 167460c123 * Brought libkernelland_emu.so up-to-date again.
* Added Slab stubs (from tcp_shell).
* Added (yet untested) support for anonymous condition variables.
* Added low resource manager functions.
* Allows including thread.h now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-04 16:46:08 +00:00
Axel Dörfler 77817877ce * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-04 16:05:38 +00:00
Axel Dörfler 21b2687fab * No need to keep Michael's old VM stuff around.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-04 15:32:02 +00:00
Axel Dörfler f69f65ec96 * Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-04 15:02:09 +00:00
Axel Dörfler 5b812019b4 * Added function block_cache_discard() that flushes blocks from the block cache,
discarding their changes. This functionality currently only works correctly
  when no transactions are used.
* Started test application for the block cache, doesn't do anything yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-04 14:49:33 +00:00
Axel Dörfler 44e4ddfdc1 * "checkfs" would run into a panic (transaction still open) when trying to
write back the bitmap.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-03 13:39:33 +00:00
Axel Dörfler 624d93479a * Improved output of "bfs" command.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-03 13:37:53 +00:00
Axel Dörfler bfc607d44f * "devfs_node" now also dumps the partition info, if any.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-03 11:02:02 +00:00
Axel Dörfler ac0a3e87f0 * Turned off debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-01 19:05:23 +00:00
Axel Dörfler 6c3348f1cd * The check mechanism in the block allocator now locks the journal as well to
fix a potential deadlock.
* Journal::Lock() now accepts another parameter that specified whether child
  transactions should be split - this is nothing you would want in normal
  operation unless the parent transaction is only there to prevent others from
  writing (such as with the block allocator check stuff).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-01 19:04:14 +00:00
Axel Dörfler d9810e04cf * Implemented a "chkbfs" using the old ioctl interface formerly only used by
the old bfs_shell. This is probably not how Ingo anticipated this to be
  used :-)
* It still seems to work, though, haven't yet tested on a partition with harder
  errors.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-01 17:31:31 +00:00
Axel Dörfler dd68fdb57a * Calmed down debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-01 17:29:45 +00:00
Axel Dörfler a8e8efef96 * Made repairing partitions work theoretically.
* Implemented a small app "checkfs" to check partitions and put it on the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-01 17:28:10 +00:00
Axel Dörfler 617fdc096a * Added "progress bars".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-01 12:51:20 +00:00
Axel Dörfler 2395e3a496 * Don't traverse symlinks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-01 12:35:28 +00:00
Axel Dörfler 5bc160ddb0 * The AdaptiveBuffering::_Write() method was exiting early, causing the possibly
random SHA hashes.
* Moved AdaptiveBuffering into its own file.
* Fixed updating a hash file.
* Implemented the "consistency_check" app that checks if a file has changed,
  and prints warnings if there are any.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28419 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-01 10:54:51 +00:00
Axel Dörfler 91af3542a4 * Now writes and updates the hash file.
* Unfortunately, there still seems to be a problem in the hash generation...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-31 22:30:41 +00:00
Axel Dörfler d6013f6096 Work-in-progress:
* Started a file consistency checker; right now, it will just compute a SHA256
  hash value for every file, and dump it to stdout.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28406 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-31 17:05:49 +00:00
Axel Dörfler 9aec3dd627 * Complete rename of randomread to random_read.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-31 14:51:27 +00:00
Axel Dörfler 144d884dad * Moved "randomread" out of the bfs directory, as it's not BFS specific.
* Also renamed it to random_read, but SVN needs two revisions for that...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-31 14:49:43 +00:00
Axel Dörfler a8cecea091 * As suggested by Gerald, we now ignore the EDID information on VBE2 graphics
chips due to possible timing issues.
* This means you will now get a 1024x768 boot screen on older hardware instead
  of the one of your native resolution. If that always worked great for you,
  and you want to be able to turn on using EDID information again, please yell.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-31 13:35:09 +00:00
Axel Dörfler 39c7faa460 * vesa_set_mode() now gets another parameter that specifies whether or not
the mode timing should be used.
* Apparently, some VBE3 implementations don't implement the CRTC support, and
  they seem to fail when the SET_MODE_SPECIFY_CRTC bit is set.
* Therefore, we'll first try with timing, and if that fails, we'll try again
  without it. This should bring back the boot screen for all those who had
  problems with it before.
* Added tracing output of the CRTC to be used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-31 13:14:07 +00:00
Axel Dörfler f37b0b4f09 * The Audio:Album was not set from the CD-Text. Thanks to Edwin for the note!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28395 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-31 12:14:05 +00:00
Axel Dörfler ebf6c5de78 * 15 and 16 bit KDL consoles now have nice colors, too.
* For 8 bit, the palette is pretty messed up during the boot process
  (thanks to the boot loader image), so that we might want to change
  how the colors are set then.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-31 10:39:50 +00:00
Axel Dörfler 3a5a677501 * print_demangled_call() now brings some color into your Haiku life (ie. to
the KDL sessions).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28392 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-31 10:22:46 +00:00
Axel Dörfler d5a9a2d118 * Made the KDL colors a bit more eye friendly in 24/32 bit modes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28391 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-31 10:17:04 +00:00
Axel Dörfler b4c8ccc372 * The boot loader now creates a CRTCInfoBlock structure when detailed EDID
mode informations are available.
* This is passed to the graphics card when the mode is set in the hopes that it
  will be more conforming.
* Not yet tested on real hardware, though, therefore the VESA driver doesn't
  do anything like this yet. I will test next, but please report any problems
  with this nonetheless.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-31 09:52:57 +00:00
Axel Dörfler 97ba3fb358 * Instead of faulting when trying to print an invalid string pointer,
print_demangled_call() will now use user_strlcpy() to copy the string
  first (if that fails, it will printf '???' to show this).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 18:29:49 +00:00
Axel Dörfler 9cd2430ee0 * Namespaces of argument names are now also handled properly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 18:16:21 +00:00
Axel Dörfler 2e04b65212 * Added test application for the GCC2 demangler.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 18:12:20 +00:00
Axel Dörfler 61791eda0c * count_namespaces() did not work correctly when there were more than one but
less than 10 namespaces.
* 'const' object methods are now properly handled.
* Template classes are now ignored as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 17:38:03 +00:00
Axel Dörfler 6179ce7957 * Removed the DEBUG_DEBUGGER_COMMANDS define again, and followed Ingo's
suggestion by adding a "faults" command that now sets the
  gInvokeCommandDirectly variable as wished.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 16:29:37 +00:00
Axel Dörfler 082466120e * The identify algorithm will no longer accept compressions it doesn't know
anything about (fix for ticket #2628).
* Fixed TReadHelper::ReadShorts() which only read half of the data.
* Disabled the stuff for the old Canon format for now (didn't work yet anyway).
* Tried to add RAW unpacked mode, but it doesn't seem to work yet (tried with
  an Olympus RAW image) (and is therefore disabled, too).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 15:15:14 +00:00
Axel Dörfler b643734ad7 * Now handles function pointers as arguments correctly.
* Added optional tracing output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28377 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 11:36:05 +00:00
Axel Dörfler 9521c5abb6 * If DEBUG_DEBUGGER_COMMANDS is 1, invoke_debugger_command() will no longer
install a fault handler, allowing to debug KDL commands better.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 11:33:15 +00:00
Axel Dörfler cca9f05114 * debug_demangle_symbol() did not set _isObjectMethod when there was no
demangle module (yet). This could cause a read fault in x86's
  print_demangled_call() (as it assumed there must be a ':' when this is true).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 11:16:01 +00:00
Axel Dörfler 225c0ed641 * Reverted parts of r28370:
- the check for compression when counting valid images was wrong, and
    broke all RAW formats that weren't using this compression.
  - COMPRESSION_PACKBITS was defined twice.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 09:29:14 +00:00
Axel Dörfler 6e036f0479 * Updated glob.h and its implementation to FreeBSD current (1.10, 1.27),
adapted them to work on Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-28 14:13:30 +00:00
Axel Dörfler 887be5801a * Don't try to update the DMAResource in case there is no medium (also saves
a panic when ejecting a disc, since updating DMAResource isn't implemented
  yet...).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 16:00:43 +00:00
Axel Dörfler 34034cf61b * _UnmountAndEjectVolume() now actually ejects the media, if configured, and
possible, ie. if no other volumes are mounted on the device.
* Fixed a operator precedence bug in GetSettings() when retrieving the mounted
  volume flags.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 15:42:00 +00:00
Axel Dörfler a58e2ed8f8 * Added functions FindPartitionByVolume() and FindPartitionByMountPoint()
that conveniently bridge BVolumes/mount points with BPartitions.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 15:33:37 +00:00
Axel Dörfler 2ec100b72e * Implemented Eject().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 15:30:58 +00:00
Axel Dörfler 67804f25ed * fs_unmount() removed the vnodes of the fs_mount twice since r28215,
triggering an assert.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 14:33:58 +00:00
Axel Dörfler 1c78a18edc * Updated BePDF to the latest available package (1.1.0b1).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 14:26:16 +00:00
Axel Dörfler d5b30a2548 * As Marcus correctly pointed out indirectly, the bitmask for
ide_mask_sector_count_48, and ide_mask_LBA_*_48 were all wrong.
* Using the high byte in LBA48 mode should work now, too (wasn't written
  to the IDE controller before, but that shouldn't have been a problem yet with
  today's disks).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-26 22:14:20 +00:00
Axel Dörfler 1998abd8ea * Fixed off by one bug... math can be so hard ;-)
* This fixes bug #2880, ie. make the ide_adapter write the IDE task file
  correctly to the command register, CD-ROMs are working again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-26 18:27:54 +00:00
Axel Dörfler b4743cca80 * Make the kernel (and boot loader) version of vsnprintf() (that backs up all
formatted printing) aware of '%%', closing bug #2953.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-25 12:28:53 +00:00
Axel Dörfler 500d847a1d * Enlarged the arbitrary maximum image size to 4 GB which still works just
fine.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-24 11:14:49 +00:00
Axel Dörfler 528b69d508 * Fixed bug #2727: symlinks usually "abuse" the data stream part of a
bfs_inode to store the link path (up to a certain length). If this was long
  enough to clobber the data_stream::size field (which luckily was the last
  field of struct data_stream), Inode::Free() would mistakenly assume this to
  be a valid data stream to be freed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-24 10:36:43 +00:00
Axel Dörfler 0982317bea * Workaround for bug #2273 - not pretty but works for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-24 10:15:39 +00:00
Axel Dörfler 85dbe55d9b * r28281 accidently added the B_NORMAL_WINDOW_FEEL (0) to the list of special
feels. This caused floating/modal app and subset windows to not work anymore.
* This fixes bug #2914.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-24 10:02:12 +00:00
Axel Dörfler e2040be893 * Applied patch by Romain Picard: added support for the GNU extension dladdr(),
thanks!
* This closes ticket #2818.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-24 09:53:48 +00:00
Axel Dörfler 68f6bdfbc8 * Added shortcut Command+Shift+T to open a Terminal. For compatiblity with BeOS :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-22 18:42:21 +00:00
Axel Dörfler a679600d82 * Followed Ingo's suggestion, and put the alpha build profiles (for raw and
vmdk images) into the new ReleaseBuildProfiles file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-22 15:52:36 +00:00
Axel Dörfler 4932bc5ea8 * Added the BeOS feature that Command-~ (with American keymap) will switch
workspaces between this and the previous one.
* Note that this is mapped to a specific key on the keyboard (key 17), so
  it will differ with the keymap, but will usually be the key below the escape
  key.
* This closes ticket #2766.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-22 12:02:49 +00:00
Axel Dörfler 89b1afd16c * Added a new window feel kPasswordWindowFeel that is above all other feels.
* Changed the password window to use this feel.
* Later, the screen saver itself should use this feel whenever the password
  mode is enabled. The password window should then use a modal-app feel, but
  this doesn't work yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-22 11:51:23 +00:00
Axel Dörfler 18ad0f1b8a * Added a new kernel setting "syslog_buffer_size" to change the size of the
internal syslog ring buffer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-22 10:41:31 +00:00
Axel Dörfler 8d805b68a5 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-22 10:29:54 +00:00
Axel Dörfler 210b7fe013 * Applied patch by Adrian Panasiuk (Adek336) to fix the syslog output to insert
the <DROP> marker at the place data was dropped, not somewhere else. See
  ticket #156; this might already fix this bug.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-22 10:22:26 +00:00
Axel Dörfler ab869c3c27 * The ref_count member should definitely be initialized - thanks Stefano!
* This might fix bug #2894.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-22 09:04:41 +00:00
Axel Dörfler 154fe8497c * AcpiOsReadPciConfiguration() always return AE_ERROR as all "break"s were
missing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-21 12:38:00 +00:00
Axel Dörfler 997c3d8afb * Renamed TMWindow to TeamMonitorWindow, TMListItem to TeamListItem, TMDescView
to TeamDescriptionView.
* Renamed files accordingly.
* Minor cleanup (made TeamListItem::fFound private, and added accessor methods).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-21 12:30:25 +00:00
Axel Dörfler 4d34c4eba6 * The description shown in the team monitor is now actually true: if you keep
ctrl-alt-del pressed for 4 seconds, the system will reboot.
* Not sure if this makes any sense, though, as the button can be selected via
  the keyboard as well (in BeOS, the reboot is triggered in the device, so it
  will also work if the input_server hangs).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28260 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-21 12:15:19 +00:00
Axel Dörfler 5ab489bfea * Made the team monitor use the layout engine.
* This is actually a work in progress, but the functionality of the former
  version should be preserved.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28259 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-21 11:16:41 +00:00
Axel Dörfler 9e163a7a93 * Made BScrollView work when using it with the layout system.
* Added a layout friendly constructor - it's not so nice to use, though, since
  the original one already doesn't get a BRect (we just don't need the
  resizing mode, and have to set the B_SUPPORTS_LAYOUT flag).
* Refactored size/frame computation a bit.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28258 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-21 10:14:24 +00:00
Axel Dörfler b6a7b20419 * Removed the log file stuff; debug output is now using debug_printf() instead.
* Removed an inconsistency: both mouse and keyboad input device add-ons would
  scan /dev/input/keyboard respectively /dev/input/mouse when loaded, but then
  only monitor certain subdirectories from it. Now they monitor all.
* Made KeyboardInputDevice::InitCheck() do what the name says, ie. nothing
  else.
* Now uses BObjectList instead of BList, which also simplifies the code a bit.
* Make use of the new BPathMonitor messages: as those contain a path, they
  greatly simplify their handling.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28242 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-19 15:59:23 +00:00
Axel Dörfler 23debb05d0 * Rewrote InputServerDevice.h header.
* Renamed _BDeviceAddOn_ to DeviceAddOn, and put it into the BPrivate namespace.
* Moved the DeviceManager functionality into the AddOnManager - this also
  solves a locking issue, as BInputServerDevice::Control() was called in the
  context of the DeviceManager before.
* The AddOnManager now uses the BPathMonitor to monitor the devices that
  BInputServerDevices ask for - this greatly simplifies the code.
* Got rid of TList.h, and use ObjectList.h instead.
* Added PathList class that has a list of paths with reference count, used by
  DeviceAddOn and the AddOnManager.
* DeviceAddOn got an actual implementation that lives in InputServerDevice.cpp.
* Added an experimental BInputServerDevice::AddDevices() that could be used
  instead of recursing over devices manually. It replaces the functionality
  that was found in the DeviceManager before (this was done implicitely for
  all monitored devices).
* Greatly cleaned up and simplified the AddOnManager.
* Also fixed lots of potential errors/leaks when things go wrong.
* Removed the extra locker in AddOnManager - its BLooper lock is now used
  instead.
* Replaced PRINT()/PRINTERR() macros in the AddOnManager with TRACE(), and
  ERROR(), both now use debug_printf().
* Hopefully this fixes the problem that I don't have keyboard under VirtualBox
  from time to time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-19 15:48:34 +00:00
Axel Dörfler ab42853558 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-19 13:17:29 +00:00
Axel Dörfler bfc4ee026d * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28239 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-19 13:16:34 +00:00
Axel Dörfler 310a9c9e21 * Setting to the saver full screen and back is no longer needed when the
password window shows up (this avoids getting the Deskbar to front when
  the password window shows up).
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28238 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-19 13:15:58 +00:00
Axel Dörfler c1e7c02d9e * If only files are watched, PathHandler::_AddFile() will now notify the target
when it was called from a notification function.
* This means you'll no longer have to watch (and scan) directories when you're
  interested in new files alone. Maybe this functionality could be used for
  other cases as well, or be activated only via an additional flag.
  Opinions? Stippi? :-)
* TRACE() no goes to /dev/dprintf by default, added a bit more trace output.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28237 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-19 13:13:51 +00:00
Axel Dörfler 8f2be9ef82 * Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-18 13:53:03 +00:00
Axel Dörfler 0f32f7ddeb * Added an ASSERT() and a check to make sure the workspace that Backmost() and
Frontmost() are using is valid.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28228 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-18 11:59:02 +00:00
Axel Dörfler 955307393f * Reworked EventDispatcher::SendFakeMouseMoved() after an idea by Stephan
that solves most app_server locking headaches: it now works asynchronously,
  and therefore doesn't need to lock the EventDispatcher anymore.
* EventStreams now allow to inject messages into the stream to allow the above
  functionality.
* InputServerStream::GetNextEvent() no longer returns when there is no event.
* Desktop::ActivateWindow() now locks all windows before checking the
  workspaces of the windows, fixing a race condition that could lead to
  Window::Foremost() being called for a window that isn't on the current
  workspace, leading to a crash.
* I currently cannot access Trac, but I recall there should be an open bug
  report about this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28224 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-17 21:37:10 +00:00
Axel Dörfler c2a8fd9b70 * AS_ACTIVATE_WINDOW must not hold a window lock when calling
Desktop::ActivateWindow(), or Desktop::SendWindowBehind().
* This fixes a potential deadlock.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-17 15:48:29 +00:00
Axel Dörfler c3657d1abd stippi+axeld:
* Made the StressTest app into a real stress test for the app_server, as the
  windows are now randomly changed, ie. moved, resized, hidden, activated, ...
* This already helped identifying two long-hiding bugs in the app_server code!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-17 15:46:45 +00:00
Axel Dörfler 703aecaaa5 * Instead of having the mount_link, struct vnode now subclasses from
DoublyLinkedListLinkImpl, and fs_mount now uses a DoublyLinkedList instead
  of a typeless struct list.
* Also added a constructor/destructor to fs_mount which simplifies and cleans
  some code.
* This should not contain any functional changes :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-17 15:44:13 +00:00
Axel Dörfler 218f8c8632 * Give a more detailed error message in case someone just tried to access a
deleted inode (which might always happen when accessing an inode by ID),
  for example by using the BDirectory(node_ref&) constructor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-17 09:56:57 +00:00
Axel Dörfler 552c8edcd1 * fs_sync() now holds the sVnodeMutex while iterating over the mount list.
* This has the advantage that we no longer need to call get_vnode(), and
  instead can use lookup_vnode().
* This means at least most of the "corrupted BFS inode" messages should be
  gone; they were produced when fs_sync() tried to get already deleted vnodes.
  This was actually harmless, but doesn't really help in trusting your system :-)
* Also, it no longer tries to write back removed vnodes.
* And finally, it now uses a marker vnode when iterating over the list, so
  that it doesn't need to break out of the loop anymore, and can always sync
  all willing vnodes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28212 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-17 09:55:34 +00:00
Axel Dörfler 64ba396fa7 * When changing the workspace of a window, it's workspace position will now be
set to its current position if that is the only workspace it's in.
* This fixes missing windows on other workspaces in the Workspaces app after
  boot, ie. before you had visited that workspace.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-17 01:31:44 +00:00
Axel Dörfler 4e59d9c7b4 * Use a good default "yellow" in case there is no decorator (otherwise yellow
isn't initialized, but also not really used currently).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28203 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-17 01:30:06 +00:00
Axel Dörfler b4b00ffcea * Added bfs to the -Werror components.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-16 20:53:41 +00:00