Commit Graph
100 Commits
Author SHA1 Message Date
Ingo Weinhold 8b5934c975 * Added support for compiling Haiku with GCC 4. The main difference is that
we use the libstdc++ (including it's headers) that comes with the
  compiler.
* Apparently option "-I-" has been deprecated, which is why we now treat the
  include stuff a bit differently.
* Removed avcodec from the Haiku image, since the library wouldn't build with
  gcc 4, and I'm not in the mood to fix that (declaration of an array of an
  incomplete type).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 22:58:54 +00:00
Ingo Weinhold 01eda82dbf Missing return types, illegal conversion all over the place.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 21:25:31 +00:00
Ingo Weinhold 8c8e8b994e gcc 4 fix. Networking team, please check whether this preserves the intended
semantics.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 18:48:54 +00:00
Ingo Weinhold 56436a1ab8 GCC 4 fix. Might have changed the semantics, but I refuse to hurt
my brain by trying to understand code using gotos. People, learn
structured programming!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 17:49:05 +00:00
Ingo Weinhold e4a5c29b25 Missing pointer dereferencing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 15:19:42 +00:00
Ingo Weinhold 88ccb61ad5 Removed GCC headers float.h and varargs.h. Fixed limits.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14798 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 18:01:16 +00:00
Ingo Weinhold 5fdbbf2ba5 Renamed UnitTesterHelper.* to UnitTester.*.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 16:23:11 +00:00
Ingo Weinhold 5cdc84cc43 No longer needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 16:19:15 +00:00
Ingo Weinhold 155b583ac3 Fixed unit tests build for platforms libbe_test and r5. Only randomly tested
a few whether they actually work.
New pseudo target "unittests", which builds all unit tests for the currently
set TARGET_PLATFORM. They are placed in generated/tests/<platform>/unittests.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 16:17:31 +00:00
Ingo Weinhold 14998c8bd5 Zeta apparently uses a OS major version >= 6.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-08 09:29:13 +00:00
Ingo Weinhold 677aaae187 HaikuBuildCompatibility.h has been renamed to BeOSBuildCompatibility.h.
Should fix the build under Linux.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 20:42:06 +00:00
Ingo Weinhold 64c51217b2 Fixed header guard name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 18:17:21 +00:00
Ingo Weinhold ca9e5772c3 * Reintroduced third LinkAgainst parameter <mapLibs>, defaulting to true.
Library names are now mapped for all targets but "host" (not only for
  "haiku") -- added one more level of indirection to achieve that.
  (TARGET_LIBRARY_NAME_MAP -> *_LIBRARY_NAME_MAP_*).
* Renamed build/HaikuBuildCompatibility.h to BeOSBuildCompatibility.h
  (auto-included when compiling something that uses the Be API for platform
  "host" on anon-BeOS platform), and introduced build/HaikuBuildCompatibility.h,
  which can be included when compiling something that can be built for both,
  Haiku and BeOS compatible platforms.
* Introduced libhaikucompat.a, a library that adds a few functions existing
  under Haiku, but not under BeOS.
* New rule AddSubDirSupportedPlatforms.
* Renamed libopenbeos.so to libbe_haiku.so.
* Introduced new target platform "libbe_test", which is basically equivalent
  to a BeOS compatible host platform target, with the exception, that instead
  of the host platform's libbe.so a special build of Haiku's libbe.so
  (libbe_haiku.so (formerly known as libopenbeos.so)) is used. Furthermore
  Haiku's public app, interface, storage, and support kit headers are used
  when compiling. This replaces the less nice way in which the test app server
  and applications for this test environment were built.
  When building for platform "libbe_test", the library name "be" is
  autotranslated to "libbe_haiku.so". Thus most applications don't need
  special fiddling when them building them for the app server test environment;
  usually an "AddSubDirSupportedPlatforms libbe_test ;" will suffice.
* Reduced the dependencies of <syscalls.h> and fixed problems caused by this
  (e.g. source files not including the needed headers directly).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 16:07:25 +00:00
Ingo Weinhold c697d698c3 Added missing shebang. Thanks to Mathew Schofield.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 09:43:46 +00:00
Ingo Weinhold da4313d711 Fixed copy and paste oversight that led to networking files being placed in
beos/etc/Keymap/ instead of the keymap files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 23:55:39 +00:00
Ingo Weinhold c096f1e6f4 Fixed bison build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 23:24:15 +00:00
Ingo Weinhold 15694b3032 Will take over the functionality of HaikuBuildCompatiblity.h, while that one
will make a BeOS platform more Haiku compatible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 14:48:35 +00:00
Ingo Weinhold 54bb4f57cf Fixed build for target R5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 13:41:12 +00:00
Ingo Weinhold 66d1795a86 Explicitly load symbols from libraries after loading a program. gdb
doesn't work quite well when symbols are not loaded -- e.g. stack crawls
are usually broken. Also stack crawls ending in a syscall work. gdb can
deal well enough with frameless function, which I realized, of course,
only after writing code for explicitly supporting syscall functions.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 11:48:26 +00:00
Ingo Weinhold f187f73e14 Added (currently still empty) dir headers/legacy for legacy headers and rules
UseLegacyHeaders and UseLegacyObjectHeaders to use them. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-03 15:14:06 +00:00
Ingo Weinhold e2bc2d6a67 * We do now filter the debug nub thread out of the list of threads.
* When being asked for a thread's CPU state, we stop the thread now. Not
  sure, if that is as it is supposed to work, but I don't see any other
  way. A side effect is that "info threads" will stop all threads.
  Another side effect is, that switching between threads should now work
  properly. Unless there is another problem, I'm not aware of, that is.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-03 14:46:31 +00:00
Ingo Weinhold 571bb2b2a6 Simplified the x86 syscall interface a bit. We no longer pass a pointer
to the parameters nor the number of parameters; the kernel is able to
get both without problems.

The syscall functions in libroot (_kern_*()) are now self-contained
(they don't "jmp" to separate code anymore), which at least
theoretically allows gdb to print a stack trace with the syscall
function on the top when a thread is currently performing a syscall.
Practically it doesn't work yet, though, since those functions are
frameless (i.e. create no stack frame) which needs special support
I haven't implemented yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-03 14:36:46 +00:00
Ingo Weinhold 37a25a6ceb * Fail, if debug_thread() is invoked for the debug nub thread.
* To always be on the safe side, thread_hit_debug_event() now checks
  whether the thread is the debug nub thread.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14655 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-03 00:40:36 +00:00
Ingo Weinhold 8811e46163 Fixed SimpleTest. It's basically another Executable synonym, with the
exception that it turns on debugging for the target by default (unless
NO_TEST_DEBUG is defined or DEBUG has been overridden before).

Note, that SimpleTest makes no assumptions about the supported target
platforms. So, if the target should be buildable for other platforms
than Haiku, that has to be specified.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 23:31:20 +00:00
Ingo Weinhold 551d682030 Fixed build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 14:57:37 +00:00
Ingo Weinhold 4b2397d17b Removed obsolete header <Session.h>.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 14:44:33 +00:00
Ingo Weinhold 42f8a2603e Fixed last commit. Now we define HAIKU_TARGET_PLATFORM_* macros correctly
depending on the TARGET_PLATFORM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-01 16:24:29 +00:00
Ingo Weinhold 723a9e90c9 We define a preprocessor macro HAIKU_TARGET_PLATFORM_{BEOS,BONE,DANO,HAIKU,LINUX} for identifying the platform something is built for.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14616 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-01 16:18:01 +00:00
Ingo Weinhold 0755123f83 Fixed most of the problems when building the MDR package for target R5.
Some add-ons don't build, since they include non-R5 networking headers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 14:51:46 +00:00
Ingo Weinhold 94978fa6a7 Renamed token type TYPE to RTYPE, so that the generated define won't conflict
with Dano's <Message.h> header. Reverted usage of Haiku headers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 14:18:03 +00:00
Ingo Weinhold 24ecde09c8 Source files/headers generated by lex or yacc need to inherit the platform
from the respective object file or they are misplaced.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 14:14:05 +00:00
Ingo Weinhold b79a08b537 Fixed ACPI build for target R5. Doesn't build for Haiku: we don't have a
<posix/va_list.h> header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 00:15:17 +00:00
Ingo Weinhold 0df3cc9c86 Re-enabled host platform BeOS version detection. Tested only under BeOS R5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 00:00:27 +00:00
Ingo Weinhold 94435dfc40 Deskbar and Tracker where wrongly located. Changed default Haiku install
dir to "/Haiku" (was "/haiku").


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-30 22:27:52 +00:00
Ingo Weinhold 338b8dc301 Merged changes from branch build_system_redesign at revision 14573.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-29 16:27:43 +00:00
Ingo Weinhold 4b9ec73e99 We need to override the virtual close_fd() in BFile for binary compatibility
(bug #43).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-12 09:26:59 +00:00
Ingo Weinhold 7d11acca6d Spotted by Axel: If the caller of a load_image_etc() was waiting for the new team to be loaded, but the team died before finishing loading we were notifying the caller only in case the team had already more than one thread.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-04 22:45:04 +00:00
Ingo Weinhold 2826a379d5 The app server for the BeOS test environment is now built by
src/tests/servers/app/Jamfile. This makes the original Jamfile much cleaner.
Note that you now have to maintain two Jamfiles when adding/removing sources.
The test app server is called haiku_app_server, its library
libhaikuappserver.so. I adjusted a few paths in scripts accordingly, but
I may have missed something elsewhere.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-29 14:44:35 +00:00
Ingo Weinhold 3436ff6e3a KMessage doesn't require the USER macro anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-29 13:16:38 +00:00
Ingo Weinhold d35f0da76d Aesthetical change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-29 13:15:39 +00:00
Ingo Weinhold 18b5424c5f * Implemented BRoster::ActivateApp().
* Added the respective case statement in AppServer::DispatchMessage().
  The code that actually activates the app is still missing.
* Removed the remnants of the old way of notifying the registrar about
  what app got activated (the activated client window did that).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-24 21:10:33 +00:00
Ingo Weinhold f3b3bb4ebd No longer build RosterShell as unit test.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-24 21:05:18 +00:00
Ingo Weinhold 5e14f5dae0 Make sure the division by zero is not optimized away.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-21 23:53:57 +00:00
Ingo Weinhold 0e2218e5b9 Provide a useful window title for the debug terminal.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13798 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-21 23:52:51 +00:00
Ingo Weinhold 4cbc183b53 Added option "-t" to specify the window title.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-21 23:52:06 +00:00
Ingo Weinhold 7f53c2cc96 We now make sure, that images always have absolute paths, otherwise
their path could be invalid in other contexts (e.g. the debug server might
be unabled to find them). This seems to be what BeOS does, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-21 23:51:02 +00:00
Ingo Weinhold d08379a80b * Now we deal with all x86 exceptions, i.e. we no longer panic() when a
user application performs a division by zero or causes a general
  protection fault. For some exceptions (e.g. machine check) I wasn't
  quite sure whether they can be caused by user apps at all, so we panic()
  in those cases. Wouldn't harm, if someone more knowledgable would check
  this, though.
* Removed the unused fault handling stuff, respectively moved the little
  that was used into x86/arch_int.c.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13795 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-21 23:47:08 +00:00
Ingo Weinhold 71903a151d This is the kind of small bug that takes hours to track down: The missing
grist caused bfd to be compiled using gdb's config.h. This made it think
Haiku had no fcntl() and thus assumed shared objects were opened r/w instead
of read-only, which made it write back data when closing the files. So this
fixes the problem that gdb damages the shared objects it had loaded.

Basically two questions remain:
1) Why does BFD write something into the files that makes them invalid?
2) Why was it possible to write something into the read-only opened files?



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-21 19:37:41 +00:00
Ingo Weinhold 6ff2656c03 * We now use libdebug.so, which saves us a couple lines of code.
* Print the debugger message in case the debugged team called debugger(),
  and the description of an occurred exception respectively.
* Properly keep gdb's internal thread list up to date. This fixes the
  problem that an attached debugger always resumed all threads of the
  debugged team.
* A bit of cleanup of the attaching code.

Discovered an ugly bug: When invoking gdb with an executable -- regardless
of whether attaching gdb to a running process or just starting a debugger
session with the executable -- the executable is modified. I tested with
"crashing_app" and in the second debug session gdb fails to read the debug
info from the file and encounters a weird error when closing the file:
"No space left on device." I have the suspicion that this is another bug
in Axel's VM/file cache pet. :-P



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-19 23:29:04 +00:00
Ingo Weinhold a79265708d Set the members of a destroyed debug_context to invalid values.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-19 23:14:16 +00:00
Ingo Weinhold a52d8b3391 Made the debug output more robust.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13773 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-19 23:12:04 +00:00
Ingo Weinhold 0c87981e3b We now also relocate the executable file in the current_sos() hook. Other
implementations (e.g. SVR4) don't do that, but I don't see how it could
work otherwise. Maybe other systems place the executable's code exactly
where specified in the executable and hence noone ever noticed...

Anyway, this makes stack traces (and probably other things that were broken
before) work with an attached gdb.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-19 10:48:57 +00:00
Ingo Weinhold 2ee6ee5b8c Added TODO.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-19 10:40:23 +00:00
Ingo Weinhold c085de40db Corrected the note about static symbols.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13752 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-18 15:20:35 +00:00
Ingo Weinhold a93b45f00f Understood why static symbols are not found (we can't without reading the
concerned shared object's file, which probably is a bit overkill) and added
respective comments.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-17 23:44:43 +00:00
Ingo Weinhold 2fd4a0411b Added a boolean "synchronous" parameter to BRoster::Shutdown(). Used in the
Deskbar to initiate the shutdown process asynchronously. Couldn't test it,
because opening the Be menu doesn't work:
***PANIC: BW: Can't find view with ID: 19 !***



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-17 16:37:11 +00:00
Ingo Weinhold aff60bb217 Added a crashing test app. Food for the debug server and gdb. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-17 00:27:10 +00:00
Ingo Weinhold 6e8834d0ee Removed forced debug output. Verified: _kern_shutdown(reboot = false) reboots too in qemu.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-16 23:58:39 +00:00
Ingo Weinhold 852425d470 Also consider the kernel team a "vital system app" that deserves not to be killed. Shutdown now works under qemu, although even shutdown reboots...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-16 23:47:57 +00:00
Ingo Weinhold aeaa4a21a4 It's considered rude to try killing the kernel team.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-16 23:38:07 +00:00
Ingo Weinhold 9a323d3533 Added support for looking up symbols of other team to libdebug. The
debug_server uses this feature to print stack traces with symbols.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-16 21:12:32 +00:00
Ingo Weinhold 28e0d4cd19 The runtime loader now creates a debug area through which other teams can
access a team's internal loader data.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-16 21:07:17 +00:00
Ingo Weinhold d3bdf71ea6 The debug nub port of a debugged team is owned by the debugger. Hence we
need to transfer the ownership, when handing over the team to another
debugger.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-16 21:04:22 +00:00
Ingo Weinhold 97021af901 We now launch the registrar and the debug server before the app server. So
we get at least a stack trace when the app server crashes under qemu when
starting up.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-15 12:31:59 +00:00
Ingo Weinhold c9ce15c94a * Reworked the design: It certainly doesn't make sense to display more than
one alert, when two threads of a team crash. Now we have a per team queue
  of debug messages and a thread per team that processes them (that is
  usually only the first one). The application class does nothing anymore.
* Implemented debugger handover:
  - In case of normal apps, when the relevant servers needed for GUI are
    running, we show an alert and, if requested, start a MiniTerminal with
    gdb for the crashed team. I couldn't really test it, since alerts don't
    seem to work, respectively crash the app server (usually both ;-).
  - In case the app server crashes, we always start a consoled with gdb.
    This does indeed seem to work.
  A gdb attached to a team is not really useful yet, since the shared object
  relocations seem to be incorrect, so "bt" is not giving any useful info.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-15 12:29:53 +00:00
Ingo Weinhold 7f9c673981 * Introduced a new debugger message B_DEBUGGER_MESSAGE_HANDED_OVER, which
is sent to a debugger when the debugged team has been successfully handed
  over to another debugger.
* Fixed handling of B_DEBUG_MESSAGE_PREPARE_HANDOVER. We don't send a reply.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-15 12:18:33 +00:00
Ingo Weinhold 310c813fa8 Minor error output change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-15 12:16:02 +00:00
Ingo Weinhold cd05d511e6 Introduced generalized versions of get_app_path() and get_app_ref() returning the path/ref for an arbitrary team.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-15 12:15:21 +00:00
Ingo Weinhold 9333bf301b consoled now supports a program to be run instead of the shell being supplied
via command line parameters. Not tested yet.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-15 00:14:51 +00:00
Ingo Weinhold 42244cf30e * Changed MiniTerminal command line arguments. Location and size are now
specified via options -l and -s. An arbitrary program can be run in the
  terminal instead of a shell.
* Console::fState was never initialized which could cause the terminal to
  not print anything.
* stdin, -out, and -err were set in MiniView::Start() and in
  MiniView::ExecuteShell(). Thus resetting them in the latter method after
  executing the shell had no effect. Removed it in the former method and
  now reset them after loading, but before resuming the shell.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-14 23:55:49 +00:00
Ingo Weinhold 29aa57037d * Now we have a hardcoded list of apps which shall not be terminated on
shutdown (input, app, debug server, and registrar).
* Fixed crashing bug, if the shutdown was aborted before the window was
  created.
* The text of the confirmation alert depends on whether we reboot or
  shut down.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-12 12:36:08 +00:00
Ingo Weinhold 54fce51326 Uninitialized member variable. The cause for the shutdown process sometimes not to start at all.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-11 23:14:56 +00:00
Ingo Weinhold 9daa13637a Be on the safe side.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-09 20:28:02 +00:00
Ingo Weinhold 32d7b6cf21 BWindow::SetDefaultButton() crashed when setting another default button.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-09 20:27:43 +00:00
Ingo Weinhold 8ddc570d6f * Implemented the BRoster::Shutdown() confirmation feature.
* When an application aborts the shutdown process by refusing to quit, the
  shutdown window says so for 3 seconds before closing.
* Fixed the height of the normal buttons in the shutdown window. They 
  accidentially got the size of a default button.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-09 20:26:16 +00:00
Ingo Weinhold a13df0dc01 Added a "confirm" parameter to BRoster::Shutdown() which causes the registrar
to ask the user to confirm shutting down the system.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-09 20:23:28 +00:00
Ingo Weinhold 1c8f0d766a Added a few apps for testing the shutdown process.
user_shutdown_reply reliably crashes the app server when pressing one
of its buttons (during the shutdown process at least).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-07 15:35:22 +00:00
Ingo Weinhold 6b454d971d * Background applications are now ask to quit in parallel.
* Implemented handling of apps blocking on modal windows.
* Fixed a few bugs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-07 15:33:20 +00:00
Ingo Weinhold c39d6b9737 * Introduced is_app_showing_modal_window(). Not implemented yet. Maybe
someone with app server insight wants to do that. :-)
* Simplified main_thread_for() for Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-07 15:30:44 +00:00
Ingo Weinhold 372aa42698 Support for missing strcasestr() under R5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-07 11:36:08 +00:00
Ingo Weinhold 935c0c3a12 Changed the shutdown process to match Be's: The user apps are not longer
asked to quit in parallel. Instead they are asked one after the other.
Played with the window to look more like the one in BeOS. The "shadow" on
the left side is still missing, but otherwise it's close.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 14:28:11 +00:00
Ingo Weinhold 0dbfed5b0c Clone() didn't copy the registration_time.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 14:25:28 +00:00
Ingo Weinhold 4852c3cd50 Added Sort() functionality.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 14:25:05 +00:00
Ingo Weinhold 2a0de579c7 Missing loop exit in case of message sending failure. This could cause a
busy loop of the MessageDeliverer when the port was deleted while there
were still messages to send.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 11:16:57 +00:00
Ingo Weinhold b285c0542c Implemented a shutdown window. Since we're quitting all user applications
in parallel, it displays the mini icons of all still running apps. Doesn't
look that great, though. Also, quitting the apps in parallel speeds up the
shutdown process, but has the disadvantage, that all apps will throw their
"Save changes...?" alerts at the user at once, which might not be a
desirable experience. I'll probably revert to the way Be did it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 10:29:42 +00:00
Ingo Weinhold 26ffd9e208 Missing break in switch statement.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 10:25:50 +00:00
Ingo Weinhold b9bd94dcc3 Aded a target <test>shutdown, which builds a shutdown command that works with the test environment under R5 (tests/servers/registrar/shutdown).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 10:25:16 +00:00
Ingo Weinhold 47e1939779 Fixed typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 10:23:32 +00:00
Ingo Weinhold 80cb793d80 Now you can define the environment variable NO_LIBRARY_DEPENDENCIES to
avoid all dependencies on libraries (that have been specified with
LinkSharedOSLibs or a rule that uses it).
This means you can now run a
  NO_LIBRARY_DEPENDENCIES=1 jam MyApp
to build MyApp without updating any library MyApp depends on, even if they
have changed. This is a feature for people who know what they are doing to
speed up development.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 10:03:42 +00:00
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