Commit Graph

173 Commits

Author SHA1 Message Date
Stephan Aßmus
cc7c040b56 * Renamed occurrences of "Reboot" to "Restart".
* Added TODO regarding the mismatch of shutdown phase names, comments,
  and the actually executed actions. The phase names and comments say that
  the background apps are terminated before the non-application processes,
  while in reality things are done the other way around. I suppose the
  latter order is correct though.  


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-27 12:05:40 +00:00
Axel Dörfler
5d35aa2833 I don't think kill_thread() is actually supposed to wait for the thread
to be killed. Reverted ShutdownProcess.cpp to continue to use kill_team()
instead of sending a signal.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-14 01:54:49 +00:00
Ingo Weinhold
3f56c07d8f We use send_signal(..., SIGKILL) to kill a team instead of kill_team()
now, since the latter one can hang. Closes bug #240.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-14 00:19:33 +00:00
Axel Dörfler
dd48600aac Minor cleanup, added a TODO about the ability to reset the parameters of
BMessageRunners that already sent their message(s).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-12 12:21:22 +00:00
Michael Lotz
bdbd1cb441 Removing the USING_MESSAGE4 define.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-11 18:06:46 +00:00
Ingo Weinhold
c8a9444b63 After cancelling the shutdown process applications couldn't be started
anymore. Fixes bug #119.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-07 23:59:55 +00:00
Ingo Weinhold
15424f3d37 Finally fixed update_mime_info(). As Be's version it understands two
different "force" levels now and updates the app file info attributes
for shared object files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 19:41:07 +00:00
Axel Dörfler
c43a6c505a Moved _kern_shutdown() to the registrar's R5Compatiblity.cpp where it belongs.
(but maybe that file should be moved into libhaikucompat.a?)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-26 00:14:03 +00:00
Axel Dörfler
01e69aca05 Now shows the "Reboot" button after the actual shutdown attempt.
The invalidate work-around is no longer needed for the app_server.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-25 16:24:17 +00:00
Axel Dörfler
0248f7e099 Fixed typo: asynchronous shutdown is now working (ie. Deskbar doesn't block
the shutdown process any longer).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-11 23:15:49 +00:00
Axel Dörfler
5d93a13bb4 The registrar marks itself now as a B_BACKGROUND_APP application, so that it
is no longer visible in the Deskbar.
Changed registrar.rdef to match the same application flags, and added a comment
that those flags are actually ignored. Cleaned it up a bit, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-12 00:27:51 +00:00
Ingo Weinhold
c729b01278 The <arch_config.h> header is needed in <syscalls.h>, since we're using
the atomic functions related macros.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15404 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-07 23:11:02 +00:00
Axel Dörfler
4ceb1e519c * reverted Adi's premature changes to BWindow and restored _DetermineTarget() and
task_looper() again.
* removed BMessenger::fPreferred - whenever you had to specify "usePreferred" separately,
  you don't have to do that anymore - use B_PREFERRED_TOKEN instead.
* fixed BTokenSpace::GetToken() semantics: it will no longer touch the "object" argument
  in case of failure.
* Introduced a BWindow::_DistributeMessage() that will be part of the event dispatcher
  counterpart to the app_server (the other will be _DetermineTarget()).
* Made it easier to use Michael's Message4 implementation: just add the following line
  to your UserBuildConfig:
	AppendToConfigVar DEFINES : HAIKU_TOP src : USING_MESSAGE4 : global ;
* Introduced ServerWindow::HandlerMessenger() and FocusMessenger() - the first will
  target the client handler, while the other will target the preferred handler of the
  client looper (usually the view having focus).
* Fixed dano message unflattening in the Message4 code.
* Changed BMessage::PrintToStream() to no longer use macros in the Message4 implementation.
* I hope that's all - it's a huge change, but it's all connected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 16:24:23 +00:00
Michael Lotz
cf10934e5f Introducing Message4. The changes to the related sources are ifdefed with USING_MESSAGE4 which is defined in Message4.h. To use Message4 the Message4.cpp, Message4.h, MessageUtils4.cpp, MessageUtils4.h and MessagePrivate4.h have to be linked to their counterparts without 4 suffix. Then MessageBody.cpp and MessageField.cpp have to be commented out in the app kit Jamfile and r5_message.cpp has to be added. There remain some bugs to be found. Feel free to change that.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 11:31:07 +00:00
Ingo Weinhold
758b1d0e05 Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
  declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
  explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
  something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
  'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
  is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
  Otherwise the an inner class with that name is considered as friend.
  gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 23:27:14 +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
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
Axel Dörfler
530cb79cf1 Exchanged the order of the "Cancel" and "Reboot"/"Shutdown" buttons (and made the
latter the default), with Ingo's generous admission :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13753 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-18 16:43:40 +00:00
Axel Dörfler
bb00e2687c MIME types and signatures are case insensitive.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-18 07:06:21 +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
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
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
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
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
Philippe Houdoin
177f17f436 Fixed a bug. I think. Let's hope. Will see... Otherwise, I'm sorry. Really. (Untested).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-07 16:22:33 +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
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
Axel Dörfler
7560d40290 Renamed "obos_registrar" to "haiku_registrar" - not just for fun, but because
the registrar no longer depends on the app_server to be running.
Added a "run_haiku_registrar" tool that is now used in the various "run" scripts.
It only start the registrar on demand, ie. if it's not yet running.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 13:50:43 +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
Stefano Ceccherini
205f8b0720 I obviously broke the r5 build with the last commit. Fixed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 12:11:32 +00:00
Stefano Ceccherini
715166d5b8 Fixed the build under haiku. Reported by Konrad.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 09:29:11 +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
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
Stephan Aßmus
0b6fe6d3a9 Reverted my change for the INFORM define.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-17 08:50:53 +00:00
Stephan Aßmus
fef11f270b The registrar was always in debug mode, no matter what was defined.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-16 17:49:19 +00:00
Ingo Weinhold
81d91d7fcb Missing header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-03 23:16:35 +00:00
Ingo Weinhold
ef13ad9efd Include dir "private/kernel/util" not longer needed, since we already have "private/kernel" and include <util/...>.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11187 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 01:20:35 +00:00
Ingo Weinhold
bed68f2088 DoublyLinkedList lives in the <util/DoublyLinkedList.h>.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 01:16:26 +00:00
Ingo Weinhold
eb5bc5f924 Added a bit of documentation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-31 00:26:30 +00:00
Ingo Weinhold
ea9716dc6e Return B_NO_MEMORY, if the command handler could *not* be allocated. First tests indicate that the messaging service basically seems to be working. Didn't test yet, if that's still true, when an area is full.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 18:48:38 +00:00
Ingo Weinhold
4eb57a1d3d Added WARNING macro.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 16:06:31 +00:00
Ingo Weinhold
d0e2e53903 * Added missing MessagingCommandHandler methods.
* Added a class for handling "send message" commands and install by
  default. At least in theory messages issued by the kernel should now
  be delivered to the target. Still untested.
* Added lock to protect the command handler map.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 01:17:09 +00:00
Ingo Weinhold
c6dbc50e2b * Added per-port sanity limits. We limit the number and summed size of
messages.
* We now maintain a second message list per port, which is sorted by
  timeout time. Thus we can drop timed out messages as early as possible.
* Fixed a bug which caused messages to disappear in the port list.
* Now delete a port not only when an error occurred when delivering a
  message, but also when it is empty.
* More debug output.

Seems to be working well now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 00:54:59 +00:00
Ingo Weinhold
0353d33137 Added kernel util header for DoublyLinkedList.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 00:48:08 +00:00