Commit Graph

11519 Commits

Author SHA1 Message Date
Adi Oanca
8b4cf1c373 Fixed a problem with floating subset windows not being shown when their main window became active. (Cleared visible regions for it and its children when automatically being removed from workspace)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 19:25:15 +00:00
Axel Dörfler
f77f93d98a Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 17:51:03 +00:00
Axel Dörfler
eec5ba5ba7 Also initialize the kernel_args::driver_settings to be on the safe side.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11737 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 17:35:46 +00:00
Jérôme Duval
376f56d265 when debug = 1, debug output goes to serial, when debug = 2, it goes to a file
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 16:43:59 +00:00
Axel Dörfler
7e3d359491 Added support kit and some POSIX headers to the doxyfile.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11735 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 16:34:03 +00:00
Axel Dörfler
b7a1b23415 Added a brief description of the syslog functions I had laying around here.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 16:27:04 +00:00
Axel Dörfler
ec15a3e18f Added the support kit to the docs (doesn't seem to be maintained these days,
but won't harm either).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 16:22:59 +00:00
Axel Dörfler
c2e9a56e33 The environ pointer is now initialized in the libroot startup code.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 15:48:19 +00:00
Axel Dörfler
908e1391a3 When using keyboard input from the input_server, it will now wait until the
server accepts input (r5 method). This doesn't work yet, though, as our
input_server fires up the event loop too early.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 15:44:49 +00:00
Axel Dörfler
2727bdcfe3 Added HFS/plus partition type strings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 15:42:48 +00:00
Axel Dörfler
37bcda3bba Added HFS/plus type strings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 15:39:17 +00:00
Axel Dörfler
8270381cd9 Added work-in-progress HFS stuff to the boot loader.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 15:36:20 +00:00
Axel Dörfler
4a3b7efb91 Some unfinished work-in-progress.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 15:32:12 +00:00
Jérôme Duval
f8f38c4c4b stripped out comments because their license is unknown
removed unused definitions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 10:32:10 +00:00
Axel Dörfler
c320153fc6 Added a simple file cache module that logs to disk anything that happens.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 02:51:47 +00:00
Axel Dörfler
7fa5018c9d We always want to hold the parent's lock in Inode::Create(), even if we
just create an attribute directory.
Removed the now unnecessary UNSAFE_GET_VNODE lines.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11724 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 01:53:38 +00:00
Axel Dörfler
b7366070fa InodeAllocator now takes care of calling new_vnode() and the new publish_vnode().
bfs_inode::InitCheck() tested INODE_NOT_READY before making sure the block is
an inode at all, resulting in spurious "inode is not becoming unbusy" errors.
Since there is now publish_vnode() we don't even have to return B_BUSY at all
anymore, though - INODE_NOT_READY is no longer used at all.
bfs_inode::etc is no longer used either (and for the same reason).
Inode::Create() no longer locks the whole volume, but only the write lock
of the parent directory (if any).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 01:49:07 +00:00
Axel Dörfler
fa4244bffc Simplifications due to the solved get_vnode()/new_vnode() mess; bfs_read_vnode()
can now just do what it's supposed to do, even the bfs_inode::etc pointer is
no longer used.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 01:40:51 +00:00
Axel Dörfler
9e0a730ddf Needs to use publish_vnode() now (since the vnode can be accessed immediately).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 01:39:15 +00:00
Axel Dörfler
07646c514a The write lock of ReadWriteLock can now be held recursively; ie. you can
hold the lock and still call subsequent Lock() and LockWrite() without
the deadlock penalty.
Added another constructor to WriteLocked so that you can also pass NULL
to it (in this case, nothing happens, of course :)).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 01:37:48 +00:00
Axel Dörfler
4e08f1474d Fixed the get_vnode()/new_vnode() race condition by introducing a new
function publish_vnode(). When calling new_vnode(), the node is only
reserved, but not yet accessible for others. Only when you call
publish_vnode(), it will become available. That simplifies new node
handling/locking considerably.
Note, you don't have to call new_vnode() before publish_vnode(); ie.
publish_vnode() acts exactly like new_vnode() did before if used that
way.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 01:15:31 +00:00
Axel Dörfler
bade75a525 Added prototype for the new function publish_vnode().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 01:07:19 +00:00
Axel Dörfler
f4c3d28a1d Some minor updates; that's all what was left when merging my changes with
Ingo's... (snivel) :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11717 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 00:53:59 +00:00
Ingo Weinhold
edc47dd584 The debugger interface has changed a bit.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-13 23:59:20 +00:00
Ingo Weinhold
b24684af25 There are now two different callbacks for break- and watchpoints.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-13 23:58:36 +00:00
Ingo Weinhold
823f4c5bf4 * Various modifications needed due to the changes in <debugger.h>.
* user_debug_break_or_watchpoint_hit() into separate functions for
  break- and watchpoints. The one for breakpoints gets another parameter
  which indicates whether the breakpoint was a soft- or hardware
  breakpoint. This info is also sent to the debugger.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-13 23:57:34 +00:00
Ingo Weinhold
4991e4c9c5 * get_debug_why_stopped_string() -> get_debug_message_string().
* Changed the index-based lookup of strings for debug message and
  exception codes to a search through entry lists. A bit slower, but more
  robust with respect to changes of the underlying enumerations.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-13 23:48:37 +00:00
Ingo Weinhold
291e414a9e * Somehow this B_DEBUGGER_MESSAGE_THREAD_STOPPED message bothered me.
Most of the debug events had their own message, but some were grouped
  into this `stopped' message with a `why' field to describe what kind
  of event it actually was. Hence the user had to check two levels until
  they could know what event occurred. So I got rid of this message and
  provided separate messages for the concerned events.
* Got rid of B_DEBUG_MESSAGE_GET_WHY_STOPPED and introduced
  B_DEBUG_MESSAGE_GET_CPU_STATE which is pretty much the same.
* Put B_DEBUG_MESSAGE_RUN_THREAD and B_DEBUG_MESSAGE_STEP_THREAD into
  a single B_DEBUG_MESSAGE_CONTINUE_THREAD message with a boolean
  `single_step' field.
* get_debug_why_stopped_string() -> get_debug_message_string().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-13 23:43:05 +00:00
Adi Oanca
c14d3fc9bd Some progress on supporting subset windows.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-13 22:54:01 +00:00
Adi Oanca
8866e7b709 RootLayer.h: introduced a method for highlighting window tab when focus
changes.
RootLayer.cpp: window tab was properly lit only when changing focus with
the mouse. Now the same happens when showing or hidding windows.
Desktop.cpp: normal windows created after floating windows did not had
B_FLOATING_APP_WINDOW_FEEL windows in their internal list, thus when such
a window was selected to become the front most it did not show floating
app windows in front of it. Fixed that now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-13 19:53:44 +00:00
Adi Oanca
9015d08261 .
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-13 17:07:40 +00:00
Adi Oanca
c9df3905a8 Improved performance when getting windows list from the active workspace. no more call malloc() every time the list was needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 23:26:05 +00:00
Ingo Weinhold
3a3b405008 Adjustions due to changes in the debugger interface
(there's a separate B_DEBUGGER_MESSAGE_EXCEPTION_OCCURRED now).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 21:56:31 +00:00
Ingo Weinhold
ebac278f8f Some simplifications. Also tried to get rid of the ostensible error
condition when the traced team exits, but this seems to be a inherent
problem. The thread that calls _kern_exit_team() apparently still manages
to send the post-syscall message, but when the debugger tries to continue
it, it is already gone. Not really harmful. We'll probably find a remedy
later.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 21:55:03 +00:00
Ingo Weinhold
d00bf1778d * user_debug_fault_occurred() -> user_debug_exception_occurred().
* No longer kill the time when a page fault occurs, but rather send a
  SIGSEGV.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 21:47:21 +00:00
Ingo Weinhold
20b656f066 * Check the thread debug signal ignore masks before notifying the debugger
of a signal.
* Added sigaction_etc(). It's just a sigaction() for which the thread
  in question can be specified.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11704 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 21:45:49 +00:00
Ingo Weinhold
293a59b0e9 * The debug_thread_info records now, which signals the debugger wishes
not to be notified.
* Added debugger commands for setting/getting of thread signal ignore
  masks and signal handlers.
* Renamed user_debug_fault_occurred() to a more correct
  user_debug_exception_occurred(). It no longer sends a `stopped' message,
  but the new one dedicated to exceptions. Additionally the number of the
  signal is supplied that will be sent, when the thread continues (without
  indicating to ignore the event).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 21:43:35 +00:00
Ingo Weinhold
03f92cacce Added new function get_debug_exception_string(). Refactored a bit.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 21:37:01 +00:00
Ingo Weinhold
1619a2e5b4 * The exceptions now have their own debugger message. Added
get_debug_exception_string() to get a user-readable string for an
  exception type.
* Added more signal support. Now the debugger can set per thread which
  signals it wishes to be notified of. It can also just ignore the next
  occurrence of a signal.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 21:35:31 +00:00
Adi Oanca
f79cd266f0 GetLooperList(BList* list) returns only valid loopers
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 19:21:30 +00:00
Adi Oanca
c92d950958 Solved a deadlock situation which occured when quiting be_app.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 19:20:10 +00:00
Ingo Weinhold
4ef509f03b New switch '-l' which allows to debug the loading of the traced application.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 15:24:00 +00:00
Ingo Weinhold
0b5637ed3a Argh! This change should have been checked in two days ago!
* Added support for debugger handover. The current debugger need to send
  a B_DEBUG_MESSAGE_HANDED_OVER message. The rest is completely
  transparent to the new debugger. It simply calls install_team_debugger().
* Implemented _user_wait_for_debugger().
* Reworked a few bits to ensure that after a remove_team_debugger() or
  after requesting a debugger handover the debugger doesn't get any more
  messages.
* When the debugger is removed or dies, the debugged threads should now
  cleanup their debug info and continue, instead of waiting at their
  debug port forever.
All the new features are not tested. Will happen, when gdb will be
debugged.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 15:22:28 +00:00
Ingo Weinhold
4d5289b7f0 load_team_etc() now optionally waits for the new team to be loaded
(new `flags' parameter, flag B_WAIT_TILL_LOADED). This is the default
behaviour for load_image(), so it behaves like R5's implementation now,
i.e. errors while loading are reported to the caller.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 15:13:51 +00:00
Ingo Weinhold
0dd3a50bb3 _user_load_image() has a flags parameter now. Added a new structure team_loading_info, which is referenced by the team structure while the team is being loaded..
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 15:11:08 +00:00
Ingo Weinhold
0e83032441 * Added _user_image_relocated() and _user_loading_app_failed().
* We no longer notify the debugger about a new image when it is registered,
  but when it has been relocated.
* When the application image has been relocated, we notify the one who
  initiated its loading.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 15:09:09 +00:00
Ingo Weinhold
3a96ba0bed Added _user_image_relocated() and _user_loading_app_failed().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 15:05:12 +00:00
Ingo Weinhold
5935412cad load_image(): _kern_load_image() now has a flags parameter. We pass B_WAIT_TILL_LOADED.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 15:04:03 +00:00
Ingo Weinhold
b484724711 Ugh! Forgot to add ffs.cpp.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 15:02:46 +00:00
Ingo Weinhold
9a28130b32 Added (currently only) flag B_WAIT_TILL_LOADED for _kern_load_image()
(maybe this should better go into a private header?). If given the function
waits till the loader is done with loading and relocating the executable.
Otherwise it returns before the loader starts.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 15:01:25 +00:00