Commit Graph
100 Commits
Author SHA1 Message Date
Ingo Weinhold 83291b44d0 Forget to check in this one. Sorry. shutdown should build again now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-04 20:39:40 +00:00
Ingo Weinhold 687d231c5f Fixed the rc build. Sorry for the inconveniences.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-04 11:16:03 +00:00
Ingo Weinhold ad3ffd1227 BuildPlatformMain now uses the original DEFINES. Otherwise we e.g. get __HAIKU__ although compiling under R5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-04 11:14:31 +00:00
Ingo Weinhold 2f903d78cf Removed the handling of B_QUIT_REQUESTED in BApplication::DispatchMessage().
It's already done in BLooper. Now we additionally send a reply to it, when
the message comes from the registrar on shutdown.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13419 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-04 10:30:38 +00:00
Ingo Weinhold 553ea30124 * Moved TRoster out of the BPrivate namespace. It does no longer appear in
any public header.
* Replaced a good deal of the MessageDeliverer's DeliverMessage() versions
  by more general ones using the new interface MessagingTargetSet to represent
  a set of targets. This simplifies the usage in cases where the caller doesn't
  already have the targets in a supported representation.
* Implemented a first approximation of the shutdown process. There is no
  GUI yet. Only superficially tested under R5.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 17:17:40 +00:00
Ingo Weinhold 925d069d23 * Added BRoster::ShutDown().
* Adjusted the shutdown command to use BRoster::ShutDown(). Removed
  the alert.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 17:04:47 +00:00
Ingo Weinhold 9fac7d6cfc BServer now remembers whether the GUI context has already been initialized, so that InitGUIContext() can be invoked twice without harm.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13415 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 16:55:27 +00:00
Ingo Weinhold a60ea28262 * Made BApplication::Private public. Should not have worked before (probably
a compiler bug).
* Don't try to cleanup the app server connection stuff, when compiled
  with RUN_WITHOUT_APP_SERVER.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 16:53:59 +00:00
Ingo Weinhold a406236dc2 New error codes:
- B_SHUTDOWN_CANCELLED: The shutdown process was cancelled (most likely by
  the user).
- B_SHUTTING_DOWN: An operation cannot be performed, since the system is
  shutting down (e.g. BApplication creation).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 16:50:29 +00:00
Ingo Weinhold ea6253d0ba rc is a build platform tool and should be built as such.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 16:47:26 +00:00
Ingo Weinhold b6257a8b3c Fixed build with debugging enabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-03 16:46:35 +00:00
Ingo Weinhold 3c0a815896 The registrar now uses BServer instead of BApplication, which makes it
completely independent of the app server.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 14:55:57 +00:00
Ingo Weinhold 9351453415 * Added a private API class BServer, a BApplication subclass especially
for servers, that don't have a GUI or want to control when the app server
  connection is established.
* BServer is necessarily a friend of BApplication, for it uses a private
  constructor. Hence BApplication::Private::InitGUIContext() is no longer
  needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 14:53:29 +00:00
Ingo Weinhold 7e5f681ff4 Check the BApplication construction error.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 14:48:26 +00:00
Ingo Weinhold c8e7f53e08 * Radically culled the list of BApplication friends and introduced a
BApplication::Private class for accessing relevant parts.
* Pulled the app server connection and IK initialization out of
  InitData() into a new method _InitGUIContext() and introduced a private
  constructor that allows to avoid this initialization. This will be used
  for servers that don't have GUI respectively want to init the app server
  connection later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 12:55:16 +00:00
Ingo Weinhold 290bc091c7 We use B_BITMAP_NO_SERVER_LINK BBitmaps internally now. This should remove the only app_server dependency the registrar has before shutdown.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 11:54:48 +00:00
Ingo Weinhold 07b6630b86 Made reading and writing memory overflow safe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 11:19:30 +00:00
Ingo Weinhold 047ab3f955 Be on the safe side when checking the size of data to be written to an area (overflow).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 00:35:28 +00:00
Ingo Weinhold 1bd7e1b36c Fixed stupid mistake. RUN_WITHOUT_APP_SERVER is to be set when it is NOT yet set.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12243 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 23:19:42 +00:00
Ingo Weinhold b8a9276a89 Simplified the include paths by fine-tuning what is included.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 21:47:36 +00:00
Ingo Weinhold f3eaafc2f5 Include the thread ID in the debug output of thread_atkernel_exit().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 21:44:57 +00:00
Ingo Weinhold 8e26b085e5 Fixed double fault handler. Personally I disclaim all responsiblity
for these changes. I was mostly just staring in amazement at the screen
while Axel and Thomas were discussing IA32 internals. A particularly
fascinating moment was when Thomas produced the cause of a bug we had
been trying to track down for hours off the top of his head (of course
iret behaves specially when the NT bit is set :-). His slowness must be
excused though, since he hadn't slept for more then 30 hours. ;-)

The code doesn't wholeheartedly deal with multi-processor machines yet.
Axel will certainly do some cleanup...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12239 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 21:43:47 +00:00
Ingo Weinhold c6ba97963c We didn't Unlock(), if setting the display mode failed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 01:11:38 +00:00
Ingo Weinhold 3aae5bd9a5 Added floorf() and ceilf() (from FreeBSD, style-adjusted). Needed by the Painter.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12208 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 01:10:42 +00:00
Ingo Weinhold 07f6a74c53 There is no <math_ldbl.h> at the moment, so we shouldn't include it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 01:09:43 +00:00
Ingo Weinhold 73d3cc98f6 Be a bit more robust, when encountering partition descriptors that
describe partitions that are out of bounds. We simply ignore those now,
instead of letting the complete scanning fail.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12206 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 01:07:30 +00:00
Ingo Weinhold 79757df990 Adapted according to the semantics change for the identify()/scan()/free_identify_cookie() disk system hooks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 11:29:58 +00:00
Ingo Weinhold 0a0a999076 We now also find a boot partition, if nested inside another partition. Booting from logical partitions should now work properly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 11:28:33 +00:00
Ingo Weinhold a7c536d8ba * Now we set partition_data::content_type correctly. The intel
partitioning system module relies on it, otherwise extended
  partitions won't be recognized.
* Be a little less lazy and do the priority partition recognition,
  i.e. all partitioning systems are asked to identify a partition and
  the one that believes it can handle the partition best, wins the pot.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12187 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 11:26:27 +00:00
Ingo Weinhold d832aa7efc We must just the same naming as in DiskDeviceTypes.cpp for the intel partition types, since the implementation relies on it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 11:22:02 +00:00
Ingo Weinhold f2162522b0 * More debug output.
* We apparently cannot use constants like kPartitionTypeIntelExtended
  in static array initializers in the kernel.
* Fixed misunderstanding between Axel (boot loader) and me (Intel
  partitioning system module) how to deal with the cookie the
  identify() hook returns. We switch to a someone cleaner method by
  always invoking free_identify_cookie() for it, even if it were passed
  to scan(). Since we want to keep the cookie, we add a reference
  counter to it.
This should fix a couple of issues with recognizing the boot partition.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12185 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 11:20:31 +00:00
Ingo Weinhold d7037cbd2c Now, we support a value of 0 for the RUN_WITHOUT_APP_SERVER variable in the libbe Jamfile. In makehdimage we don't override the variable's value, if it is already set anymore. This conveniently allows to set it to 0 in a wrapper script that invokes makehdimage -- no need to change makehdimage itself.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 11:09:51 +00:00
Ingo Weinhold b785ce8d6f Added strlcat.c. Required under R5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 10:42:37 +00:00
Ingo Weinhold ff241c23eb Install the StatCacheServer, too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 10:40:42 +00:00
Ingo Weinhold ebc1161965 Added gdb's bfd and opcodes libraries and gdb itself to the build.
Everything compiles here, but I couldn't test it yet, since Haiku
doesn't seem to boot properly at the moment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 15:59:01 +00:00
Ingo Weinhold 4184510ecb Jamfile for gdb itself.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 15:57:43 +00:00
Ingo Weinhold f1bb97fc23 Added files generated by configure for x86.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 15:57:11 +00:00
Ingo Weinhold 8c9f956b79 Jamfile for gdb's opcodes library.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 15:55:55 +00:00
Ingo Weinhold b33773df35 Generated by configure.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 15:55:28 +00:00
Ingo Weinhold 25c32f636c Jamfile for gdb's bfd library.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 15:54:45 +00:00
Ingo Weinhold 9231a159cf Added files generated by configure for x86.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12098 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 15:54:05 +00:00
Ingo Weinhold faed617707 Implemented fork() support. We basically need to re-get the heap area
after fork()ing and recreate all semaphores we've been using. To do
the latter, we simply maintain a list of all locks.
fork()ing multithreaded teams can still be troublesome.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 15:34:20 +00:00
Ingo Weinhold 576c52f8b1 Added the gcc printf format attribute for debug_printf(), so that gcc warns about format/parameter inconsistencies.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 15:25:57 +00:00
Ingo Weinhold adc9b39a23 * Added printing a stack trace in case of a page fault. Must be enabled
explicitely when needed.
* Added a ToDo item to _user_resize_area().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 15:24:33 +00:00
Ingo Weinhold 4b72d3d8a8 Renamed gawk's libintl.a target to <gawk>libintl.a and placed it in the
objects/ tree, so that it doesn't clash with others (those should be
fixed, too). gdb is (or will be, as soon as I check it in) using this
version, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 20:21:53 +00:00
Ingo Weinhold 61b60efc91 Added gdb's libiberty to the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 23:35:57 +00:00
Ingo Weinhold f0d5a638b1 Added a config.h (generated by configure). We probably have to check this later again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 23:35:24 +00:00
Ingo Weinhold 0185b89c0d Added gdb's readline to the build. Some day we should put a readline in
src/libs and build a shared library to be used by all programs that
need it (bash, gdb) instead of letting each have its own copy.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 15:29:43 +00:00
Ingo Weinhold bc5b3d1208 Added a config.h (generated by configure).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 15:27:28 +00:00
Ingo Weinhold d6ec927ff1 We don't have <sys/file.h>. It wouldn't harm to add it, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 13:06:05 +00:00
Ingo Weinhold 652f8945c1 Include <sys/types.h>. Forgot what, but something was unknown otherwise.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 13:05:11 +00:00
Ingo Weinhold 90af425ab1 Added Haiku x86 recognition.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 13:03:43 +00:00
Ingo Weinhold 9dcad89a9b TCP_NODELAY is not defined in Haiku networking headers yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 13:02:55 +00:00
Ingo Weinhold 055b5b93a8 Added constant for the Haiku OS ABI.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 13:00:26 +00:00
Ingo Weinhold d92911c6c3 Shared object support for Haiku. Currently only working as part of a native debugger.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 12:58:22 +00:00
Ingo Weinhold ffe68e41fb Generic and i386 specific Haiku native and target debugger support.
The target debugger won't work though, since quite a bit of code
would need to be moved from the native support files to those for
the target support. But that's not that important at the moment, since
we're mainly want a native debugger.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 12:57:07 +00:00
Ingo Weinhold 4292001718 The include files for generic and i386 specific Haiku support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 12:50:23 +00:00
Ingo Weinhold 36a69705b5 Haiku make support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 12:47:48 +00:00
Ingo Weinhold f4b0b0925d Haiku support for configure.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 12:46:29 +00:00
Ingo Weinhold edbfa39b73 Copied gdb 6.3 to the main trunk.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12023 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 11:06:23 +00:00
Ingo Weinhold cafebc1db5 Added qemu_single_step_hack setting to enable the qemu single step hack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 18:49:41 +00:00
Ingo Weinhold 85001a7cc6 * Fixed checking for DR6 bits after a debug exception (we were and'ing
with the bit number, not the respective mask).
* Added a small hack to allow single stepping to work in qemu.
  Apparently the BS bit in DR6 is not set when the debug exception
  is handled. So we always assume that a single step event occurred,
  when we couldn't recognize any other event, if the hack is enabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 18:48:51 +00:00
Ingo Weinhold 3eae1fea40 * Added support for debugging through exec*().
* Added initialization function. Currently only need to init the
  single step hack for qemu.
* Fixed a deadlock when the nub thread destroyed the debug info. It was
  waiting for itself.
* Moved the filling in the origin info of the debug messages into
  thread_hit_debug_event_internal(). No need for code duplication.
* Writing to user memory can now be partial. We also change the area
  protection, if it wasn't writable. Necessary for setting software
  breakpoints.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 18:40:07 +00:00
Ingo Weinhold c650ac05fd Added user debug initialization call.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 18:29:12 +00:00
Ingo Weinhold 4f43c96006 * Dealt with a race condition on team exit. The death semaphore and
the thread count need to be accessed atomically.
* Made debugging through exec*() work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 18:28:24 +00:00
Ingo Weinhold d2c78559a0 We now also support partial writes to the debugged team's memory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 18:23:33 +00:00
Ingo Weinhold edc2a86662 More debug output and a new ToDo item.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 18:22:27 +00:00
Ingo Weinhold ccba980438 Added haiku.image and svn-commit.tmp (don't know, why svn doesn't delete it) to svn:ignore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-20 23:00:24 +00:00
Ingo Weinhold f8e5453f2b Added a small program for testing unblocking on close and select support. Not quite exhaustive and tests for ECHO mode are missing, since I couldn't figure out how to turn it on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-20 22:35:05 +00:00
Ingo Weinhold 27a5523990 * Dealt with (hopefully) all open/close race conditions.
* Implemented unblocking of pending operations when closing a cookie.
  Needed to change the simple one reader semaphore, one writer
  semaphore strategy for blocking to a request queue based approach
  (otherwise unblocking would have been really hairy).
* Implemented select() support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-20 22:31:35 +00:00
Ingo Weinhold fa062b9f09 Added SemaphorePool class.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-20 22:24:05 +00:00
Ingo Weinhold 2efc846c8a * Added delete_select_sync_pool().
* A new select sync pool entry wasn't really added to the pool.
* More debug output.
* The semaphore created in common_{select,poll}() needs to be created
  with count 0, otherwise we won't block.
* A serious race condition remains in common_{select,poll)(). When a
  selected FD is closed we can't deselect select events anymore, so
  that subsequent notify_select_events() issued by the FS/driver might
  write into already free()d memory. A solution would be to get_fd()
  the involved FDs and operate directly on them instead of using the
  indices. I'm just too lazy to do that now.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-20 22:15:33 +00:00
Ingo Weinhold 1cebd061c3 Added delete_select_sync_pool() to clean up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-20 22:07:29 +00:00
Ingo Weinhold c379e6fed2 Added libdebug.so.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-20 22:06:29 +00:00
Ingo Weinhold 362e09b124 In case of a debugger() call now also prints the debug message. Makes use of the new libdebug.so.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-20 22:06:13 +00:00
Ingo Weinhold 0a064776ae Added the beginnings of a small private API for debug support.
Entirely implemented on top of the public <debugger.h> API, but more
convenient to use. Lives in a separate library libdebug.so.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-20 22:04:04 +00:00
Ingo Weinhold 8af41139d5 Added default constructor. Useful in combination with SetTo().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-20 21:59:51 +00:00
Ingo Weinhold 63531836b9 * Added a small private API (<fs/select_sync_pool.h>) to support FSs
and drivers that need to provide special select() support with
  managing select notification information.
* Renamed vfs_select.c to *.cpp and fixed the resulting C++ compiler
  errors. Added tracing macros.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 21:27:01 +00:00
Ingo Weinhold cbc6d404f9 Added missing select()/deselect() Hooks to the file system interface
and made sure they are called by the VFS, if existent.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 21:04:25 +00:00
Ingo Weinhold d49f1b87a0 We were handling closing of file descriptors incorrectly. The close_*()
and free_*_cookie() hooks of the underlying FS were always called
together when the reference count of the FD dropped to zero. When
blocking operations (reading/writing) on the FD were still in progress
this would never happen, though. Now we additionally maintain an open
count and call the close_*() hook when it drops to zero.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 20:25:07 +00:00
Ingo Weinhold 92290ecd54 Added support for the ll' size qualifier. Supported was only L'.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 19:45:45 +00:00
Ingo Weinhold f9ac365bc0 Removed version number from directory names.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 17:51:51 +00:00
Ingo Weinhold f422d333a9 Removed version number from directory name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 17:21:52 +00:00
Ingo Weinhold 0603429c37 Removed version number from directory name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 17:21:38 +00:00
Ingo Weinhold b438e86d9d Removed version number from directory name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 17:21:21 +00:00
Ingo Weinhold c6733267a8 Removed version number from directory name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 17:20:55 +00:00
Ingo Weinhold 6029f1e42b Removed version number from directory name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 17:20:38 +00:00
Ingo Weinhold 733fed3a6f CVS -> .svn.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 10:33:36 +00:00
Ingo Weinhold e9e207dd50 Move trunk into respective module.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 08:30:54 +00:00
Ingo Weinhold 0f6fa84153 The beginnings of the mountvolume command, using the DiskDevice API. Interrupted work. Probably doesn't even compile yet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 22:10:26 +00:00
Ingo Weinhold 8a9c34bcfb Added `-i <include file>' option. If specified, the file is included
(sourced) before unmounting the image. That solve my problem that mounting
and copying things onto the image after makehdimage is done, damages the
FS integrity for any reason (Axel can't reproduce it, of course :-).
Maybe others have the same problem.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 22:08:28 +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
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