Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler 2d4b179de5 Implemented B_TRUNCATE_MIDDLE, since truncate_strings() could corrupt memory
before in this mode. Some further cleanup, only B_TRUNCATE_BEGINNING is still
left.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 16:49:04 +00:00
Axel Dörfler 49a755ef15 The task manager is now completely font sensitive.
Enlarged the cancel button a bit.
Started counting mechanism (ie. later, when you really press Ctrl+Alt+Del,
the TMDescView counts down to zero). Ideally, this would be fed by the
keyboard device.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 08:36:51 +00:00
Axel Dörfler 73c9d940e7 Now groups by system components, ie. system components are added at the
bottom of the list while other teams are added at the top of the list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 06:44:33 +00:00
Axel Dörfler 62f29f2d9b Added test application for the task manager window.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 06:40:13 +00:00
Axel Dörfler 5311273550 Refactoring: moved all controls into the TMView class (former TMBox).
It now also handles all messages relating to its controls.
The file path is now truncated to the view's bounds.
Fixed wrong update position of the TMDescView; it always took updateRect
as view bounds.
Enlarged item gap a bit so fit the BeOS task manager exactly.
Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 06:37:14 +00:00
Axel Dörfler 9695be8f49 When you kill an item, it is no longer active.
TMBox::Pulse() will now only invalidate the view if something changed - this
completely removes the flickering that was visible with our app_server.
Fixed typo.
Added a ToDo comment since TMDescView::fItem is not correctly updated.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 05:39:39 +00:00
Axel Dörfler d145df451e Fixed some of the simpler font sensitivity problems. Looks much better on the real thing now.
Also no longer states that Haiku components would be part of "the BeOS" :-)
Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 05:20:10 +00:00
Axel Dörfler e8fbd2527f Now checks if the window is out of the screen frame and move the window
back into it, if necessary.
Some more cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 05:15:26 +00:00
Axel Dörfler 507ff76a65 Added empty stubs for shutdown_media_server() and launch_media_server(),
so that we could theoretically run the Media preferences app.
IMO, these belong into libmedia.so; they should be rarely needed with
the new media kit, anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 04:33:39 +00:00
Axel Dörfler da7bead8c6 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 04:11:14 +00:00
Axel Dörfler 32d0dbbbf8 Made command line evaluation more robust, it now also accepts a "=" as separator between attribute name and value.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 03:44:18 +00:00
Axel Dörfler ffa1bb09e9 Now creates the People indices on all mounted volumes on startup (like R5's People).
Some more cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 03:40:21 +00:00
Axel Dörfler 33c16998cd Removed unused constants.
People is now almost font-sensitive (only the width is fixed).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 03:29:10 +00:00
Axel Dörfler 779f323d92 Big cleanup.
Now searches all volumes for people groups.
The only thing left is to make "URL:" and "E-mail:" clickable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 03:18:00 +00:00
Axel Dörfler f32d9ec555 Added some more preferences apps to the image.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 23:43:42 +00:00
Axel Dörfler e7281ecba6 Fixed a bug in next_argument(): it could read after the terminating
null byte, and add junk as arguments. Thanks to Korli for testing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 23:40:43 +00:00
Axel Dörfler 6a27b3b363 Renamed source files for LinkReceiver and LinkSender to match their class names.
Headers will follow.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 23:10:39 +00:00
Axel Dörfler b7e162e93a We definitely don't need the FIX_FOR_4_6, whatever that was about.
Also restored the original locations of the class members I broke before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 22:12:32 +00:00
Axel Dörfler 62bb447ee0 In order to be binary compatible, one should not change the location
of private members if the class has friends (and BWindow has a lot of
them...), stupid Axel!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 22:04:29 +00:00
Axel Dörfler 0cb92588a8 Made sLocker static, as originally intended.
If there is no be_app when the AppServerLink is created, it now
falls into the debugger (maybe only for now?).
Removed some debugging cruft.

BTW I changed the standard app_server resolution to 800x600 by
intention - at least for testing this is much more appropriate,
and can be reversed later again.
FWIW I think we should use 1024x768 as a standard or whatever
is the native display resolution. Use 640x480 as a fall back
only in safemode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 21:37:03 +00:00
Axel Dörfler f395db3740 Updated a comment I forgot before.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 21:31:30 +00:00
Axel Dörfler dd10337fd0 Renamed BAppServerLink to AppServerLink, BPortLink to PortLink, LinkMsgReader
to LinkReceiver, LinkMsgSender to LinkSender, and put everything into the
BPrivate namespace.
Made AppServerLink a cheap object - it will use the applications receiver/sender
and not create its own buffers.
Fixed broken communication stuff here and there (mostly Font.cpp).
Put the newly introduced set|get_system_colors() into the BPrivate namespace -
please don't introduce private functions into the public namespace!!!
Also fixed their broken communication use, as Darkwyrm obviously forgot about
it again: the sequence Flush(); GetNextMessage() without error checking is
purely wrong and can make the app hang and/or crash! :-)
Other minor cleanup.
The input_server used some test mode with the haiku build target which is
probably wrong.
Hopefully I did not forget anything this time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 21:28:56 +00:00
Axel Dörfler 48d350d76e Accidently replaced lib.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 19:50:01 +00:00
Axel Dörfler 80f47570a5 Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 19:49:18 +00:00
Axel Dörfler 494301a5aa Minor cleanup, fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 13:27:26 +00:00
Axel Dörfler 43ed6aa0db The "shebang" handler is supposed to parse arguments, too - we now do that.
Also, when the line is too long, E2BIG is returned.
Thanks to Korli who pointed me to this: http://homepages.cwi.nl/~aeb/std/shebang/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 12:39:06 +00:00
Axel Dörfler be22452f3b Apparently, both load_image() and exec*() support running scripts. We do that
now as well.
Also, both functions will now test if the executable exists and is valid; that
way, load_image()/exec*() can catch many errors without having to create a new
team (or erase the current one - an exec*("my invalid app") might now return
with an error).
The runtime linker now exports a function to test executables that is aware
of the search paths, and will also check user permissions upfront.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 11:23:29 +00:00
Axel Dörfler 229b2db028 cache_node_launched() is now called later, so that the environment will
be the same for both ways (via load_image() and exec*()).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 11:15:05 +00:00
Axel Dörfler 6262418e6a fInitialized was never set to "true", so InitCheck() could never succeed.
Also fixed _AllocateBuffer() to handle out of memory situations gracefully.
It should probably also have upper limits with regard to the bitmap size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 00:12:45 +00:00
Axel Dörfler fc95358474 Optimized writing by enlarging the file before the single entries are written
(that saves the file system from starting a new transaction, which is currently
expensive).
Changed output a bit: the launch line now also contains the parent team ID,
file paths are truncated from applications.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-13 18:44:22 +00:00
Axel Dörfler aadb0f6bb8 The acceleration hooks are now set after a SetMode(), and get a display_mode as parameter
as required by the interface.
Unfortunately, this doesn't help the slow window moving with Rudolf's drivers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-13 17:42:52 +00:00
Axel Dörfler 02cc496038 Build fix, improved debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13098 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-13 16:04:45 +00:00
Axel Dörfler b84688be5f Added a basic low memory handler service.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-13 13:03:54 +00:00
Axel Dörfler b1a248305b Minor cleanup, changed return type of page count functions (from addr_t to size_t,
as that's more correct).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-13 13:02:24 +00:00
Axel Dörfler a69e0ac327 The boot item list was not initialized; this was no problem, though, as
no items can be removed from that list - nevertheless, it's wrong.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-13 13:01:13 +00:00
Axel Dörfler ff9fb62471 Some cleanup (made static variables static).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-13 12:59:11 +00:00
Axel Dörfler 183dee22cb Unlike R5, receive_data() could return an error code under Haiku - this
can now only happen if the thread is killed.
_user_receive_data() will now longer pass B_CAN_INTERRUPT to receive_data(),
but B_KILL_CAN_INTERRUPT - this should fix the problem Stefano experienced
with this function, even if I couldn't reproduce it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-12 11:14:37 +00:00
Axel Dörfler e53168541f Instead of letting the window reroute the messages, I just learned the
target can also simply be set to the preferred handler by using the
BInvoker::SetTarget(NULL, Looper()) form.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-11 17:57:03 +00:00
Axel Dörfler b4ca6a8fc1 Cut/Copy/Paste messages and B_SELECT_ALL are now sent to the window, which then
passes them to the focus view. Before, only the data view got those messages
(because they are accessible over the menu, and had the data view as target).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-11 17:50:51 +00:00
Axel Dörfler 2a1492f0fa Moved the definition of the BlockAddressPool class into block_allocator.cpp, as it's
not used outside of it.
Added tracking for the last transaction in the block cache; that way it can test
if the last transaction has been closed before opening a new one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-09 02:14:28 +00:00
Axel Dörfler 584d673049 Fixed various bugs in the block allocator: new free ranges were never added
to the free list, so a new range was started for every allocation (!).
block_range::Free() did not update the chunk's used_mask correctly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-09 02:09:06 +00:00
Axel Dörfler 1c12a6a33f Inode::ShrinkStream() now evaluates the return values from some functions - dunno
if that's a good idea (it may still be a good idea to succeed for shrinking the
stream, even if not everything worked), but it looks better :-)
Improved debug output in case TrimPreallocation() fails.
Journal::FlushLogAndBlocks() no longer ends the current transaction if called
from within an ongoing transaction.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 17:33:56 +00:00
Axel Dörfler 78d6683c68 Changed the "help" command to be able to only show all commands starting with a certain string.
This helps to reduce the flood of commands for those blue screen "users" :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 17:16:40 +00:00
Axel Dörfler 07339e709d Ctrl-C now also works in the MiniTerminal.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 16:58:46 +00:00
Axel Dörfler 8b0b0568fd Made copy_from_start() more clear and probably faster.
Commented out a check that would prevent characters smaller than B_UTF8_ELLIPSIS
to be rendered (ie. the maximum width could be less than the ellipsisWidth but
greater than the complete string width for small strings).
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 14:38:29 +00:00
Axel Dörfler e60b1ff1d8 Reserved space for the close and zoom buttons, even if they were absent.
Hack workaround: enlarged the text width a bit, because the title often appeared
truncated for no apparent reason.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 14:35:25 +00:00
Axel Dörfler 3ba7d6f350 Added AS_{GET|SET}_DESKTOP_COLOR.
(Incorrectly) implemented AS_GET_DESKTOP_COLOR - works for now.
Minor cleanup.
Is AS_SET_SCREEN_MODE used at all?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 13:24:40 +00:00
Axel Dörfler e9b005131f Fixed some crashing bugs (that only appear under Haiku, because there is some
stuff missing - defensive programming rules :-)).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 04:11:19 +00:00
Axel Dörfler bd28b3c746 BAppServerLink is now using BApplication::fServerTo/From for its messaging.
Added LinkMsgReader::NeedsReply() method.
Completely redone ServerApp messaging: no more "replyport" from BAppServerLink; instead,
the registered client reply port is used. Fixed some more weak messaging stuff.
ServerApp now recognizes if an unknown message needs a reply, and sends it - for example,
the "Screen" preferences app no longer hangs, but crashes on start :)
Made LinkMsgReader::Read() virtual again, since it's needed by RAMLinkMsgReader.cpp.
Renamed BPortLink::GetNextReply() to GetNextMessage().
Some more cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 04:01:59 +00:00
Axel Dörfler be835bdf0b Fixed LinkMsgReader::ReadString() for empty strings I just broke before.
Extended the PortLinkTest application a bit (and updated it).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 03:29:10 +00:00
Axel Dörfler 0aa69a9cd4 Fixed the crashing bug when quitting the app_server.
The display driver is now owned by the Screen object.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 01:40:22 +00:00
Axel Dörfler d673482488 Under Haiku, the "stub" driver is called "vesa", so we're trying to use this one.
Note, the special case can go as soon as we've moved the driver over to the new
driver architecture.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 01:39:14 +00:00
Axel Dörfler ecc2961bee Fixed warnings and the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 01:23:44 +00:00
Axel Dörfler 9db6e5bc94 Fixed fake_app_server build due to the BPortLink changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 01:13:38 +00:00
Axel Dörfler 75936a02e4 BPortLink now has a FlushWithReply() method itself.
BPortLink::AttachString() now accepts a length argument, and will no longer
send a terminating null byte; LinkMsgReader::ReadString(), however, will
make sure the string read is null terminated.
Changed client communication code to use FlushWithReply() instead of Flush()
and GetNextReply() - there were many bugs and shortcomings in the code, I
hope I've fixed them all.
Converted ClientFontList.cpp to our coding style (but not completely, the
class members are missing).
Some more cleanup - I hope Adi will adopt our coding style one day!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 00:36:26 +00:00
Axel Dörfler 750b92faf3 Almost rewrote LinkMsgSender; it's now much cleaner and works better:
- StartMessage() can now get a size to make sure there is enough free space
- if StartMessage() is called with the current message behind a certain
  watermark, the buffer is flushed in order to prevent moving around messages
  in the buffer. The actual value should be tested in real life, though.
- enlarged maximum buffer size to 64k
- fixed bug: could use memcpy() to move overlapping memory around
- added a flag to Flush() that marks messages as needing a reply - the other
  way would be to mark the message "code" to contain this information

Some cleanup in LinkMsgReader.
BPortLink now has most methods as inlines.
The buffer sizes are now declared in a shared header, so that receiver and
sender are always equipped equally.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-07 22:36:03 +00:00
Axel Dörfler 62fbf00df8 Added a simple mini test application for BPortLink.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-07 19:40:56 +00:00
Axel Dörfler c493c21745 Cleanup only.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-07 14:30:50 +00:00
Axel Dörfler 2cafbe7535 Since Bochs 2.2 can finally run the Haiku app_server, it is now enabled
by default. Select "safe mode" in the boot menu to get to the old consoled.
Note, if you're using VESA mode, make sure you run in 32 bit, or the
app_server will crash.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-07 00:54:23 +00:00
Axel Dörfler 860b32520c Almost rewrote BDeskbar. Fixed some bugs. Added some ToDo comments - the
functions will currently deadlock when called from within the Deskbar.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-06 14:23:06 +00:00
Axel Dörfler 683be71e08 Added stuff for AddMessage() and _AddMessagePriv() - mostly comments
on what they should.
More cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-05 19:37:05 +00:00
Axel Dörfler e17b33e56b The window was removing the app_server connection too early, and thus hang in Quit().
Removed the stopConnection() method.
Cleaned up header a bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-05 18:57:55 +00:00
Axel Dörfler 851fc4f198 Private class BAppServerLink now has a global locker, instead of
(ab)using the BApplication lock to synchronize messaging.
Also, it now has one global reply port, that is created on demand,
but never freed - hope this doesn't cause any other trouble.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-04 17:16:49 +00:00
Axel Dörfler 3cd9c86453 Quit() when called from another thread, never posted _QUIT_ to the looper,
and therefore waited indefinitely for its demise.
Run() had the usual "if error != my special error -> everything fine" that
seems to be everywhere in the Application Kit.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-04 17:13:42 +00:00
Axel Dörfler a55bbe35a4 Fixed a warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-04 15:31:26 +00:00
Axel Dörfler a01d14b2db Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-04 15:15:42 +00:00
Axel Dörfler 68c1f3d2eb Disabled code that could find newly installed drivers - it's not likely we
will do that anytime soon, and it should be done by using node monitoring,
anyway.
devfs_open_dir() now makes sure the directory contents are up-to-date - this
should fix the app_server device lookup.
Disabled debug output in the read/write hooks to improve its usage.
Renamed part_map to partition.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 00:51:17 +00:00
Axel Dörfler 80f6ef8bd8 Moved load_driver() and load_driver_symbols() over to devfs.
Added new devfs_add_driver() function that the device manager will now call
to register new drivers.
Devfs will now keep a list of known drivers and remembers, if they have
been initialized already - a driver can now safely scan the directory it's
in while being scanned itself without having its hooks called twice.
Devfs is now using a recursive lock instead of a mutex (that's not really
a requirement right now, but would allow us to keep the fs lock during
scanning).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-02 18:32:21 +00:00
Axel Dörfler 19b77242ac Some minor cleanup: removed unneeded includes, updated introducing comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-02 18:23:26 +00:00
Axel Dörfler 317121e102 Work in progress of the new block allocator for the block cache. It works, but
currently needs even more memory than the old one 8-)
Not cleaned up at all.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-01 16:39:38 +00:00
Axel Dörfler 6233964798 Removed host BeOS version recognition: we now always default to target "haiku".
Building our components for use with R5/dano/whatever is now something you need
to want, it's not the default anymore.
Note: you can still build single components for R5 by overriding the target
platform per target, too, for example:
$ TARGET_PLATFORM=r5 jam app_server


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-01 14:33:46 +00:00
Axel Dörfler 12e1714d54 Fixed stupid bug in copy_environ_to_heap_if_needed(): it copied the
environment, but it didn't set the "environ" to the new array, and
thus throwing away the copy again.
GCC no longer crashes because of this, and runs through without help :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-31 01:59:01 +00:00
Axel Dörfler 2dbdc141cf Transactions can now be nested (bfs_release_vnode() actually did that before,
but that was not working correctly):
only the owning transaction (the one that came first) can now end a transaction.
To do: if the owning transaction fails, it should actually not abort the
transaction in case there were sub transactions, but does so right now
(should do no harm, eventually file data is not freed as it should).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-31 01:26:39 +00:00
Axel Dörfler 3bb591ce9a We don't want to drop into the kernel debugger for that right now
(FATAL() would be okay, but it's currently configured to panic).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-31 01:19:43 +00:00
Axel Dörfler 809025e47c BlockArray::MakeEmpty() can now also be called before the block has been actually used.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-31 01:18:34 +00:00
Axel Dörfler dde78a340e Fixed off by one error: could call memcpy() with '0' as size argument.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-31 01:17:25 +00:00
Axel Dörfler d1407b9d2b The "PANIC" line will now also appear on the blue screen, not only over serial.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-30 23:09:36 +00:00
Axel Dörfler 5692a950fa We don't stack transactions together, so we need to end each transaction,
even if empty.
Added some more debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-30 18:35:25 +00:00
Axel Dörfler f4e5c34143 cache_abort_transaction() freed the wrong block, and thus causing a file system
corruption even better than during its absence.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-30 16:54:08 +00:00
Axel Dörfler ac5af8f1b4 The maximum allocation size we've configured our allocator is 1 GB. Instead
of running into an assert() later on, we now back out early in this case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-30 14:10:06 +00:00
Axel Dörfler 11a2999d10 Now also prints the area offsets next to the instruction pointer so you don't have
to enable debug output in the runtime linker and still have to compute the offsets
manually.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-30 12:22:34 +00:00
Axel Dörfler c88974d026 The app_server now updates the kernel's blue screen frame buffer on mode changes
(only the accelerant HW interface does this for now).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 20:23:00 +00:00
Axel Dörfler f33c8020e2 Removed debug/console.c, we no longer need it. frame_buffer_console_init() is now
called by debug_init_post_vm().
Since the availability of a blue screen specific getchar() is static anyway, there
is no need for the sBlueScreenGetChar variable (only the message "only serial input
available" gets lost, but since that is platform specific anyway...).
Hello blue screen! We now have an on-screen KDL, to be enabled by the kernel
setting "bluescreen", just like on BeOS.
The blue screen does not yet support any cursor actions or backspace, though (need
to grab some stuff from our console driver).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 16:23:00 +00:00
Axel Dörfler 38b2e6ccbe Added some more options we more or less support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 16:04:18 +00:00
Axel Dörfler 395c6c62f2 Renamed arch/dbg_console.h to arch/debug_console.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 14:34:03 +00:00
Axel Dörfler 45c54054f7 No longer needs to include <arch/dbg_console.h>
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 13:33:30 +00:00
Axel Dörfler 2b8d85854d Renamed arch_dbg_console.c to arch_debug_console.c, dbg_console.h to debug_console.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 13:31:15 +00:00
Axel Dörfler eca3ada99b Removed some unused old headers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 13:29:55 +00:00
Axel Dörfler 9a63135f7c Cleanup of the debug stuff, prepared for blue screen debugging.
kernel_debugger() didn't do enough before; panic() did all the work - but
since the former is a public function as well, I moved all the functionality
to it. Also fixed a possible buffer overrun in panic().
Renamed dbg_* to debug_*.
"serial_debug_port" setting did not ignore negative values.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 13:01:38 +00:00
Axel Dörfler 24b2daf33d Slightly improved debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 12:53:56 +00:00
Axel Dörfler 1b22c05ae8 Fixed warning I introduced before.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 11:33:45 +00:00
Axel Dörfler e8cd95e31a The default settings file now shows the default values, too, even
if they all commented out.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 10:58:50 +00:00
Axel Dörfler 2e95dad4b9 strerror() no longer reports "Unknown Application Error" for positive values,
instead it now says "No Error".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 10:51:47 +00:00
Axel Dörfler b2c1ecd640 Added patch originally written by Ingo Weinhold:
- extended libdebug.so functionality to be able to get stack frames,
  current instruction pointer, etc.
- changed the debug_server to be able to run as a simple BLooper - this
  saves some trouble when the app_server dies
- the debug_server now prints out a stack crawl for the crashed team
  (without symbols, though - for that data to be helpful you should
  have a look at the loaded images (ie. where they start))
- the debug_server now also prints the team name when it kills it


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 00:44:51 +00:00
Axel Dörfler 3c0cb78db9 Added "Pulse" to the list of applications (it starts, but doesn't look correctly yet).
If a file "vesa" happens to be in data/settings/kernel/drivers/ it will be copied to the
image.
If you're on a BeOS machine, the standard fonts will be copied (Swis721, Courier); this
causes the "Workspace 1" to be shown under Haiku, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 00:39:22 +00:00
Axel Dörfler dd3d1f72ac BLooper::InitData() will now choose a default name ("anonymous looper") in case
no name was specified on creation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 00:33:34 +00:00
Axel Dörfler 9620c1d716 rename_thread() was broken for the current thread: updating the name is
hardly atomic, so we need to grab the thread lock after all.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 00:29:45 +00:00
Axel Dörfler d9152a2dfe We now accept NULL as a thread name (in which case it will get a default name).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 00:20:18 +00:00
Axel Dörfler 1d2f53e0ba Disabled debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 00:17:02 +00:00
Axel Dörfler b3ef4fb41a Oops, forgot to implement cache_abort_transaction(); every failing transaction
could have destroyed the BFS integrity... (just happened to me, that's how I
noticed it)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-28 15:11:18 +00:00