Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler 70a11cecbd * pages_io() now handles it gracefully in case the fileVec array is too
small to hold the information for the requested I/O size.
* get_file_map() returned B_BUFFER_OVERFLOW already in case the array
  was exactly as large as needed.
* read_chunk_into_cache() and write_chunk_to_cache() will no longer
  override their local "size" variable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-02 11:13:03 +00:00
Axel Dörfler 65186fec5a Removed duplicated information (the PARAMETER_* constants were already expressed in form
of the OPTION_* constants).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-02 09:22:22 +00:00
Axel Dörfler 325a6253ce * Put the remaining libicon.a classes into the BPrivate::Icon namespace.
* Minor cleanup (like removing the extra blank line between the copyright and the
  header guard).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-02 09:08:57 +00:00
Axel Dörfler b6d25ffbd2 Missed an improvement Hugo sent me a bit later.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 12:24:44 +00:00
Axel Dörfler f18d4e1e45 Traceroute: use new SIOCGETRT to obtain the source address to be used when
communicating with the destination, patch by Hugo Santos.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 12:14:20 +00:00
Axel Dörfler 289c0791bb Added 'route get' support to the route command (via SIOCGETRT), patch by Hugo Santos.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 12:10:20 +00:00
Axel Dörfler 2d55afcdf7 Support getting route information for a specific destination
using SIOCGETRT. Patch by Hugo Santos.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 12:06:16 +00:00
Axel Dörfler 0786dcba41 Ported latest traceroute, courtesy of Hugo Santos.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 11:51:14 +00:00
Axel Dörfler 9c4477d3bf SIOCGIFCONF will now also report the size of the written buffer in ifconf.ifc_len
to cover the case the list of interfaces changed since SIOCGIFCOUNT was called.
Patch by Hugo Santos.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 11:48:07 +00:00
Axel Dörfler 51541d38f5 You also have to recompute the checksum in case the source address was updated,
patch by Hugo Santos.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 11:38:37 +00:00
Axel Dörfler df0ca8cae0 Updated the pages_io() test with Ingo's latest changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 11:31:22 +00:00
Axel Dörfler 238d7b4ba7 Added small test for the pages_io() function (and the file_map class as well).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-31 09:55:32 +00:00
Axel Dörfler 061816eefa * Fixed two bugs found by Ingo: the tempVec array bounds weren't checked when
filling them which could have written over the stack, and their iovec length
  was set for the wrong iovec, potentially clobbering any memory.
* The first tempVec was usually empty, anyway, as the wrong iovec was chosen
  to start from (usually one too early).
* The tempVec loop is now repeated until the whole fileVec is completed.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-31 09:54:56 +00:00
Axel Dörfler 9c62a6ed7d Rewritten Debug.h by Vasilis Kaoutsis.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-30 14:43:25 +00:00
Axel Dörfler 0bfaee2899 parse_line() is now smart enough to detect quoted strings and escaped characters.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-30 13:44:46 +00:00
Axel Dörfler 3a1532ef98 In case the source cache of the current vm_cache_ref was in the process of
being merged in vm_cache_remove_consumer(), fault_find_page() tried again
with the current vm_cache_ref, but didn't realize it might have had inserted
a busy page in this cache already.
This fixes a deadlock, as this page would never get unbusy again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-30 12:14:43 +00:00
Axel Dörfler 94d37a4b51 * map_backing_store() did not set the private mapping's cache to CACHE_TYPE_RAM.
* Some more debug helpers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-30 09:45:50 +00:00
Axel Dörfler 673a63dc41 Added more checks regarding page movement for debugging purposes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-30 09:01:58 +00:00
Axel Dörfler 6da6433598 * common_select() now also clears the sets for B_WOULD_BLOCK and any other error
that returns 0. Patch by Hugo Santos.
* Removed superfluous memset() of select_sync structures.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-29 16:09:53 +00:00
Axel Dörfler b03e2464e6 current_bytes wasn't being updated on fifo_dequeue_buffer(). Patch by Hugo Santos.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 20:58:32 +00:00
Axel Dörfler 67fb7cd0ed Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 08:47:28 +00:00
Axel Dörfler e992122d94 Moved Jorge from team leads to contributors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 06:44:26 +00:00
Axel Dörfler 30aaba68bc Added the parenthesis in the Control() switch statement again, as there is a
variable definition in this block.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-27 10:58:35 +00:00
Axel Dörfler fc1cf1a3d2 Style cleanup, patch by Vasilis Kaoutsis - thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-27 00:14:30 +00:00
Axel Dörfler 6c533c4f43 Somehow, the system doesn't run that well when the scheduler skips only rarely; I'm not
yet sure what is causing this, but until I find the time to look into it (or someone else
as part of GSoC), raising the limit helps.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-26 10:28:39 +00:00
Axel Dörfler ea2de1a115 * If the IP_HDRINCL option is used, ipv4_send_routed_data() now checks if the source
address is set, and changes this if not; this makes traceroute work on Haiku.
  Patch by Hugo Santos.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-25 14:01:56 +00:00
Axel Dörfler 6de46a8005 Rearranged ipv4_control() a bit, and fixed a bug that would always return B_BAD_VALUE
on setsockopt() for all options. Thanks to Hugo Santos for pointing this out.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-25 12:59:39 +00:00
Axel Dörfler 19b0fb934c The MessageLooper class did not initialize its fThread member, causing ServerWindow
to rename arbitrary threads. This fixes bug #1122.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-25 12:43:13 +00:00
Axel Dörfler a201ac2cf9 The kernel no longer allows anyone to rename a thread unless you're the current
owner of that thread - this fixes the kernel part of bug #1122.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20419 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-25 12:42:30 +00:00
Axel Dörfler d349f3c941 select() is supposed to clear the sets in case of B_TIMED_OUT - found and patch
by Hugo Santos - thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-23 20:40:03 +00:00
Axel Dörfler aaea7f1795 Now also supports Canon's CR2 format - note, all images are only opened in half of
their original size for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-23 15:30:44 +00:00
Axel Dörfler c0c59f5b2d Accidently unmapped the wrong pages in case of COW after the last commit...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20408 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-23 12:36:24 +00:00
Axel Dörfler c6a7ff7a9f * The new vm_page_mappings weren't updated correctly in many cases.
* Added a comment to vm_remove_all_page_mappings() that shows that we need to
  change the mapping spinlock into a mutex.
* Pointed out some potential problems in the code.
* Added vm_page_at_index(), vm_clear_map_activation(), and vm_test_map_activation()
  in preparation of the page scanner rewrite.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20407 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-23 11:48:37 +00:00
Axel Dörfler 8260e407c5 * Initial and very basic version of a RAW image translator.
* Based on Dave Coffin's fabuluous dcraw - it's basically the same thing in C++,
  but follows common sense programming rules a bit more :-).
* Current version probably only supports PENTAX RAW format, though.
* Still lots of places left to clean up.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20404 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-22 18:43:45 +00:00
Axel Dörfler bdfc47dbcd * Fixed the test for equality when a known ARP reply came in - you should no longer
see the "ARP entry updated with different address" message.
* sockaddr_dl::sdl_data is now unsigned (uint8_t instead of char).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-20 22:21:36 +00:00
Axel Dörfler 4b661a956f Fixed a stupid bug that prevented DHCP from trying again if a request was lost
(always happened here with my laptop :-)).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-20 22:09:53 +00:00
Axel Dörfler 1a38ebd28b No longer crashes when deleting "certain" interfaces (couldn't reproduce the
crash in Qemu for some reason).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-20 19:15:31 +00:00
Axel Dörfler 8cf2f7dedd Renamed BeMail.rdef to Mail.rdef (subversion doesn't allow to rename a directory
and any of its contents in one commit).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-18 13:49:56 +00:00
Axel Dörfler 0995b56384 * Renamed BeMail to Mail.
* The settings are still saved in "config/settings/BeMail Settings", though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20389 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-18 13:44:26 +00:00
Axel Dörfler 4d7c45a7f1 Fixed PPC build (still using the older compiler, though).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-14 15:47:11 +00:00
Axel Dörfler 91d6453948 * Added a new Workspace::GetPreviousWindow() method to allow traversing the window
list in the other direction.
* Since WorkspacesLayer now cuts out the current window from the clipping region,
  the window order was upside down; it now uses the new Workspace::GetPreviousWindow().
  This fixes bug #1105.
* WorkspacesLayer::MouseDown() now also uses GetPreviousWindow() which prevents it
  from needing to scan the whole window list for the top window at every click.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-13 16:53:19 +00:00
Axel Dörfler de4145dbb6 Cleanup:
* NewBlock()/FreeBlock() are now symmetrical in that the former no longer inserts
  the block into the hash table.
* delete_transaction() also no longer removes the transaction from the hash table.
* cache_transaction_sync() now uses the new hash_remove_current() function.
* minor other cleanup (like line breaks).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 23:17:28 +00:00
Axel Dörfler f19d32ef8f Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 21:19:20 +00:00
Axel Dörfler 826e857cf0 Implemented hash_remove_current() which removes the current iterator position
from the hash - not yet tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 21:18:49 +00:00
Axel Dörfler 6e601ee88f get_memory_map() now panics (and fails) in case it was called on unmapped memory as
suggested by Ingo; before it would just fill the physical pages with NULL pointers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 13:27:42 +00:00
Axel Dörfler b5937fc6e6 The Message-Id field now gets a default hostname added in case there is none set in the system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-10 12:33:33 +00:00
Axel Dörfler 1594e83f84 * All mapped pages that are not wired (ie. locked) now have a vm_page_mapping object
that points to both, the page and the area the page is in. This will allow a page
  scanner to steal unused pages when necessary.
* The locking is currently done with a spinlock which we might want to have another
  look at one day.
* dump_page() and dump_area_struct() now dump the page mappings as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-08 14:35:26 +00:00
Axel Dörfler 1d4134cb51 Added Euan Kirkhope to the list of contributors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-08 13:10:09 +00:00
Axel Dörfler 863634b83f Patch by Euan Kirkhope:
* Initial support for Rage Theatre 200.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 21:16:15 +00:00
Axel Dörfler 0dd99544d0 Build fix for r20329 - the R5 version of BFS did not include a send_notification() prototype (and still doesn't include notify_listener(), which should be fixed at some point, too).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 18:22:40 +00:00
Axel Dörfler 76b5213f47 Patch by Euan Kirkhope:
* Use AGP Bus manager module
* Fixed wrong framebuffer address computation; this should fix bug #1079.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 17:06:27 +00:00
Axel Dörfler ab0ad5e92b Implemented printing the stack trace in vm_page_fault() for PPC as well.
Not tested, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 14:39:09 +00:00
Axel Dörfler 00be6a4ccb And of course, we shouldn't test newArea->cache_type before it was set...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 13:58:34 +00:00
Axel Dörfler 528e40c07d Of course, we need to query the address space of the source area, not the one of the target.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 13:52:58 +00:00
Axel Dörfler 0c12332715 * vm_map_physical_memory() now sets the wiring/locking type of the area created
to B_FULL_LOCK.
* vm_clone_area() now respects the source area's wiring and inherits it. This
  should fix bug #1055.
* vm_cache::type is now duplicated in vm_area::cache_type - this allows looking
  it up without having to lock a vm_cache_ref; this also solves a locking bug
  in vm_unmap_pages() in this regard.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 13:44:55 +00:00
Axel Dörfler 5eb9da355a * The KDL commands cache/cache_ref will now also print the type of the cache.
* Made the output look a bit more like that of the other commands.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 13:09:41 +00:00
Axel Dörfler 7ce2eaa1e0 Patch by Euan Kirkhope:
* VIP FIFO functions for Rage Theater200 support


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:43:33 +00:00
Axel Dörfler 0caeca2af7 Patch by Euan Kirkhope:
Sync overlay with x.org


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:41:37 +00:00
Axel Dörfler df647a5c3d Patch by Euan Kirkhope:
* Laptop LCD Backlight rework + powermanagement


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:38:11 +00:00
Axel Dörfler b8fb3d1705 Patch by Euan Kirkhope:
Monitor Routing rework
 * mostly to fix my issues with dual monitors VGA + DVI which didn't work! ;)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20275 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:35:22 +00:00
Axel Dörfler 19cadc2f7d Patch by Euan Kirkhope:
* Kernel settings configuration added


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:33:08 +00:00
Axel Dörfler a85694c375 Patch by Euan Kirkhope:
* option for PIO engine instead of DMA (for dodgy X700s)
* misc RAM config changes inline with x.org codebase


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:28:25 +00:00
Axel Dörfler 300bef5821 Patch by Euan Kirkhope:
* New "ATOM" BIOS Support for radeons X-series
* This also removes scanning for the BIOS signature for other cards


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:05:12 +00:00
Axel Dörfler 8841d8bcd1 First of a set of patches by Euan Kirkhope:
* Headers updated
 * PLL errata workarounds
 * Radeon asic type overhaul (consolidated)
 * Device IDs Updated.
 * support for X-series devices with legacy bios type
 * minor tidy ups / compiler warnings (casts)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:00:49 +00:00
Axel Dörfler ca954b7816 Another work-in-progress towards having extra structures per mapping per page:
* vm_area and vm_page now have a new field "mappings" where they will store lists
  of vm_page_mapping structures. vm_page::ref_count is gone, as it's no longer
  needed (it was never updated correctly, anyway).
* vm_caches now have a type field, ie. CACHE_TYPE_RAM for anonymous areas - this
  makes the stores a bit less independent, but is quite handy in several places.
* Added new vm_map_page() and vm_unmap_pages() functions to be used whenever you
  map in or unmap pages into/from an area. They don't do much more than handling
  vm_page::wired_count correctly right now, though (ie. B_LAZY_LOCK is now working
  as expected as well).
* Moved the device fault handler to vm_map_physical_memory(); it was not really
  used as a fault handler, anyway.
* Didn't notice Ingo's changes to the I/O space region broke lock_memory(). It
  now checks the type of the area that contains the memory, and doesn't lock
  anymore if not needed which solves the problem in a platform independent way.
* Implemented lock_memory() and unlock_memory() for real: they now change the
  vm_page::wired_count member to identify pages that shouldn't be paged out.
* vm_area_for() now uses vm_area_lookup() internally.
* Fixed various potential overflow conditions with areas that reach 0xffffffff.
* Creating anonymous areas with B_FULL_LOCK no longer causes vm_soft_fault()
  to be called, instead, the pages are allocated and mapped (via vm_map_page())
  directly.
* Removed the _vm_ prefix for create_area_struct() and create_reserved_area_struct().
* Fixed a bug in vm_page_write_modified() that would not have enqueued pages that
  failed to be written to the modified queue again when needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 13:24:53 +00:00
Axel Dörfler 91f1fe44d2 It really should only have an fFirst member :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 11:31:19 +00:00
Axel Dörfler 5cd229a5a1 I accidently broke the build with some work-in-progress changes, this should fix it for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 11:04:55 +00:00
Axel Dörfler c210cfeb9a Added a doubly linked queue that is similar to the list, but only has a pointer
to its header. Not yet used or tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 08:21:02 +00:00
Axel Dörfler 583ed1c698 * Applied codestyle patch by Vasilis Kaoutsis (missing space between if/for and the
opening bracket) - thanks!
* Shuffled functions a bit around to separate static and exported functions.
* Some other cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20245 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-27 22:33:58 +00:00
Axel Dörfler 3eca858515 * Moved the early startup VM allocation functions from vm_page.c to vm.cpp.
* Renamed them, made everything static besides vm_allocate_early() (previous
  vm_alloc_from_kernel_args()) which now allows you to specify a different
  virtual than physical size, and therefore makes vm_alloc_virtual_from_kernel_args()
  superfluous (which isn't exported anymore, and is now called allocate_early_virtual()).
* Enabled printing a stack trace on serial output on team crash - it doesn't hurt
  for now, anyway.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-27 19:26:40 +00:00
Axel Dörfler 63d6bf7ad8 * Applied patch by Jonas to have 32-bit icons in the mount and template menus
under Haiku. This fixes bug #1033. Thanks!
* Changed IconMenuItem sizing to use the same method as ModelMenuItem which
  makes sure the item is large enough for the icon, and which centers the icon
  in case the item is higher than the icon.
* Minor cleanup, added some comments about where those classes are used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 23:02:54 +00:00
Axel Dörfler ed518e4b22 Fixed "cp" (and "mv") leaking file descriptors like crazy when copying attributes, thanks to Ingo for noticing this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 15:26:02 +00:00
Axel Dörfler d8de23cd1e BDirectory::Contains() would return "true" if the entry being tested for existed,
but the BDirectory was not initialized correctly. Thanks to Jonas who also provided
a patch for this (which I didn't use directly, though, for some minor reasons).
This fixes bug #1034.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 05:43:16 +00:00
Axel Dörfler cf2aeb201f * Implemented BDragger::{Show|Hide}AllDraggers() and its backend in the app_server.
This fixes bug #242. The value is currently stored in a separate file.
* Removed some unused codes from ServerProtocol.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-21 07:57:21 +00:00
Axel Dörfler 5fbb5241c7 Fixed endless loop in the legacy keyboard driver (currently only used by consoled).
This actually fixes bug #1024.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-16 06:30:36 +00:00
Axel Dörfler ae473111b0 * Removed spacing before the links - it looked really weird, especially with other fonts;
I hope mmu_man won't mind.
* Cleaned up our team leads: moved Michael Wilber and Kurtis Kopf to the list of contributors,
  added Waldemar (website), and Jorge (marcom), replaced DarkWyrm with his alter ego Jon.
* Fixed a warning - even though I'm not sure we really need this percentage stuff at all.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-13 08:31:21 +00:00
Axel Dörfler 17ef5dab76 * Added "Close and > Move to Trash" back in, as it's actually different from just moving
the mail to trash (and move on to the next mail) - and very handy, too.
* Removed "Close and > Set to Read" as it's not really necessary at all (and since quitting
  BeMail and just closing the window will do the same thing, it's also rather confusing
  than helpful).
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-13 08:21:27 +00:00
Axel Dörfler 2aba25f273 Fixed a bug that I eventually introduced that prevented Icon-O-Matic from being
started from FileTypes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-13 07:22:06 +00:00
Axel Dörfler 4d634ea794 Prevented the somewhat broken env copying code from clobbering memory it shouldn't really touch.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-13 06:42:58 +00:00
Axel Dörfler 4ecd017140 * Fixed a bug that would not remove an existing attribute from the small data section
when the new attribute data was too large to fit into the small data section at all.
  This fixes the Trash icon update with a block size of 1024 bytes.
* This also fixes a bug where AddSmallData() required you to write back the inode even
  if it failed with B_DEVICE_FULL, but no one did it.
* _RemoveSmallData() no longer requires you to write the inode back on success.
* Made most small data methods private.
* WriteAttribute() now tries to put the data into the small data section even if it
  existed as a separate file before (the file is then removed).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-07 16:46:42 +00:00
Axel Dörfler bbf8311d15 * Fixed a race condition between deletion of the endpoint and canceling its timers;
the timer functions could access invalid memory.
* The endpoint manager now panics if a bound endpoint is not in the hash.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-07 14:13:37 +00:00
Axel Dörfler aa547f5fbb * mutex_lock() and recursive_lock_lock() now return a status_t and report failure.
* recursive_lock_unlock() now returns a void to mirror it's counterpart better;
  use recursive_lock_get_recursion() if you're interested in the lock depth.
* switch_sem(), and release_sem() now don't do anything anymore in kernel startup
  mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-07 14:07:31 +00:00
Axel Dörfler d5d570384c The mutex was created too early, before semaphores could be used.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20098 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-07 13:50:50 +00:00
Axel Dörfler b200275472 Flushing the translation map is done automatically on unlock.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-07 13:49:50 +00:00
Axel Dörfler 4668ce8544 Disabled the VMware graphics driver again, until it's remaining issues
are solved (see bug #994).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-07 13:27:37 +00:00
Axel Dörfler f83348ef31 Fixed some warnings when build with GCC 4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-07 08:00:01 +00:00
Axel Dörfler 17c3c55fbc Fixed flattening/unflattening BPictures. Unfortunately, this does not fix bug #1014.
Note: endianness is completely ignored.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 18:01:42 +00:00
Axel Dörfler 230a0989fd bfs_free_cookie() now always write locks the inode - before it only hold a read lock
which wasn't enough when tampering with the inode's data, and it also acquired that
lock too late.
Thanks to Stefano for pointing this out.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 16:28:48 +00:00
Axel Dörfler eb117b4bfd Reworked the way thread_yield() works: just setting the thread to B_LOWEST_ACTIVE_PRIORITY
for one quantum wasn't really a good idea, as this could get quite expensive for the thread
(depending on the system load, it might have taken a long time until the thread was scheduled
again, no matter what priority it was).
Also, calling thread_yield() in a loop would have taken 100% CPU time.
Now, we sort the thread into the queue as with any other thread, but we'll ignore it once.
This now guarantees an actual context switch, as well as a much fairer rescheduling policy
for threads calling that function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 02:29:17 +00:00
Axel Dörfler 8c31a369ab Now sets the "other" unchanged version info to {0} if it doesn't exist yet - this
should work around bug #681 on R5. Please test.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-05 23:28:09 +00:00
Axel Dörfler 805b68a926 Fixed the bug I introduced yesterday that all queried "Close and ..." items would
set the status to "_status" instead of the actual status.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-05 14:43:37 +00:00
Axel Dörfler 10c69bce7b * Moved the query engine from TMenu into its own function add_query_menu_items().
* Removed the "Set to..." submenu from the "Close and" menu; instead, all items
  are now added to the same level, which makes this menu more useful and easier
  to use.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 19:07:21 +00:00
Axel Dörfler f7f2fd3533 * Removed VIEW_COLOR definition, and also fixed its former usages to use
ui_color(B_PANEL_BACKGROUND_COLOR) instead.
* Cleanup, simplified TStatusWindow.
* Did not fix font sensitivity issues in TStatusWindow (but that's also
  not for Ryan, as MDR should stay compilable on R5 as well for now).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 19:02:48 +00:00
Axel Dörfler 815c38625d Applied patch by Vasilis Kaoutsis:
* replaced new[] with malloc()/realloc() where appropriate - since we're messing with
  the bits anyway, this makes the code slightly faster.
* however, we might want to throw some std::bad_alloc exceptions to deal correctly with
  low memory situations.
* cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 13:32:36 +00:00
Axel Dörfler ebabf50a02 x86_userspace_thread_exit() did not correctly setup the stack for the syscall.
I don't know why (or how) it could work before r19775, though.
This fixes the wrong return code from wait_for_thread() in most cases, and thus,
bug #1011.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-03 18:30:24 +00:00
Axel Dörfler 4d1fd46cdf * Replaced DEBUG MultiLocker with an implementation that actually helps debugging
locking problems (instead of debugging the locker class).
* MultiLocker::IsReadLocked() is now only exported with DEBUG mode turned on, as
  it only works correctly in this case.
* Made MultiLocker safe against B_INTERRUPTED, ie. it now just tries to lock again
  instead of failing for no obvious reason.
* Removed bogus arguments to acquire_sem_etc() in MultiLocker (like B_DO_NOT_RESCHEDULE).
* Applied coding style to MultiLocker.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 19:16:18 +00:00
Axel Dörfler cb134e2550 Resolved a TODO: WorkspacesLayer must take the whole workspaces frame into account, not
just the one of the first screen. This also solves a locking bug, as the HWInterface
is already read-locked when WorkspacesLayer::Draw() is called.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 18:14:25 +00:00
Axel Dörfler ad7e408e18 The SemaphorePool method could hand out unbalanced semaphores - it only called
Semaphore::ZeroCount() on new semaphores, not on used ones. Found by Stefano, thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 17:12:00 +00:00
Axel Dörfler 89eb4cd6c9 Now checks the screen mode to be set if it is already the active one (and do nothing if
that's the case).
Accidently this also fixes bug #1010.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 16:20:16 +00:00
Axel Dörfler f55ffadf96 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 12:44:51 +00:00