Commit Graph

54087 Commits

Author SHA1 Message Date
Axel Dörfler
ac0a462fba launch_daemon: Basic user session implementation.
* Instead of launching Tracker/Deskbar directly, we now launch the
  Login application.
* This will now start a new session for the selected user (the password
  is currently ignored).
* When a user session is started, the launch_daemon forks, and the
  child then restarts the LaunchDaemon application in user mode.
* It then registers itself with its parent, in order to resolve user
  dependent services.
* Added a user launch file that will cause Tracker, and Deskbar to
  start in the new session.
2015-07-22 20:41:37 +02:00
Axel Dörfler
9cc27f7369 launch_daemon: Merged Job with LaunchJob, cyclic dependencies.
* Job is now a BJob, and includes the former LaunchJob functionality.
* Dependencies are now resolved on init, and jobs are removed early
  when they are not met (or are cyclic, which is now also detected).
2015-07-22 20:41:32 +02:00
Axel Dörfler
0337b4adfd launch_daemon: Moved (Main)Worker to its own file. 2015-07-22 20:41:28 +02:00
Axel Dörfler
f913a08780 launch_daemon: Added basic dependency support.
* Untested, and even incomplete, though.
2015-07-22 20:41:23 +02:00
Axel Dörfler
f4e75e7c37 launch_daemon: use BJobs for everything, multi-threaded worker.
* Implemented a multi-threaded job queue, that launches as many as CPU
  count jobs at once -- due to SSDs, this number could possibly even be
  made much larger, though.
* Launching a job now happens within that worker queues as a LaunchJob.
* Put all init jobs into an init target, and make the launch jobs depend
  on it.
2015-07-22 20:41:19 +02:00
Axel Dörfler
c16361c49c launch_daemon: Initialize /tmp & /var/shared_memory, clock.
* Added initializing /tmp & /var/shared_memory to the launch_daemon.
* Moved clockconfig.cpp code into the launch_daemon.
* This follows systemd design; since those jobs are fixed, it doesn't
  matter where you maintain them.
* The init jobs are BJobs, but the JobQueue is only used for that
  one use for now. At a later time, I intend to put the job launching
  in there, as well. BJob allows to represent the dependencies already.
2015-07-22 20:41:14 +02:00
Axel Dörfler
ef462ab57f libroot: ensure that the launch_daemon doesn't wait for itself.
* The launch_daemon might indirectly call get_launch_daemon_port()
  which may cause a deadlock. Just fail in this case.
2015-07-22 20:41:09 +02:00
Axel Dörfler
1f374c8b2a libroot: hardcode find_directory() to /home/boot for root.
* This is a work-around to allow the registrar, and the launch_daemon
  to call find_directory() without worries.
2015-07-22 20:41:05 +02:00
Axel Dörfler
bea38cb711 registrar: implemented auth port via launch_daemon.
* get_roster_port_name() is no longer needed.
* This also removes the app_server restart code from the debug
  server -- this will be done by the launch_daemon in the future.
2015-07-22 20:41:01 +02:00
Axel Dörfler
7ef0edec04 syslog_daemon: don't delete the port on quit.
* It belongs to the launch daemon.
2015-07-22 20:40:56 +02:00
Axel Dörfler
798ad3db30 BLooper: don't delete a launch_daemon port.
* Unless the service is really to be quit, the port should stay around;
  but that decision is to be made by the launch_daemon, not the service
  itself.
2015-07-22 20:40:52 +02:00
Axel Dörfler
4bf862e368 syslog_daemon: Converted to BServer.
* Instead of letting the kernel search for the syslog port, the
  daemon now registers itself with the kernel (which even solves
  a TODO).
* A port is created for the actual log messages from the launch_daemon,
  and used on start.
* However, the SyslogTest does not yet work, due to the BMessage <->
  KMessage communication problems.
2015-07-22 20:40:47 +02:00
Axel Dörfler
9d69dc097d libroot: added ability to communicate with the launch_daemon.
* These methods don't really work yet, as BMessage doesn't support
  replying with a KMessage; the request is received, but the reply
  never gets to the target.
2015-07-22 20:40:42 +02:00
Axel Dörfler
43aec2c726 launch_daemon: added support for arbitrary ports.
* Dropped "create_port" -- this is now the default for services.
* Additionally (or alternatively, if you use the "legacy" mode), you can
  now create named ports, and specify their capacity.
* Added convenience methods to BLaunchRoster that automatically use the
  signature of the current be_app.
2015-07-22 20:40:38 +02:00
Axel Dörfler
89168ad8b9 Boot the system via launch_daemon.
* This is actually working already, although we cannot reproduce all
  the features of the former Bootscript yet. This is without any
  dependency support in launch_daemon.
* All shell activity like cleaning out /tmp, setting up the environment,
  setting the time, etc. is not yet working.
2015-07-22 20:40:33 +02:00
Axel Dörfler
592ffe6461 The app_server is now a regular BServer. 2015-07-22 20:40:29 +02:00
Axel Dörfler
cbfe45bbfa app_server: Fixed signature. 2015-07-22 20:40:24 +02:00
Axel Dörfler
2bc07d285e BRoster::Private::SendTo() cannot be used in registrar.
* We're checking with IsTargetLocal() if we're allowed to access
  it or not.
* This might introduce regressions, if the registrar is using its own
  services via the BRoster API.
* This fixes a deadlock when the system clipboard tries to get
  initialized within the registrar.
2015-07-22 20:40:20 +02:00
Axel Dörfler
9bfc8331bb BRoster: find the registrar port via launch roster. 2015-07-22 20:40:15 +02:00
Axel Dörfler
d32061151e BMessenger: support launch daemon when set to signature.
* Before asking the roster, we now ask the launch roster if it knows
  about the target.
2015-07-22 20:40:10 +02:00
Axel Dörfler
e31148095d BMessage: fixed reply port race condition.
* When the team that we got the synchronous reply from immediately
  terminated afterwards, it might have still owned (and therefore
  destroyed) our reply port.
* Make sure it's not added to the pool again, but is recreated instead.
2015-07-22 20:40:06 +02:00
Axel Dörfler
d482c7ca5b launch_daemon: actually launch the jobs.
* BRoster::Launch() cannot be used (yet), as it pre-registers the
  application we're launching, and that won't work for the registrar or
  anything else until the registrar is up and running.
* Renamed B_GET_LAUNCH_CONNECTIONS to B_GET_LAUNCH_DATA.
* Add the team ID to the get-launch-data reply.
* Added BLaunchRoster::GetPort() for convenience.
* Removed some superfluous debug output, but temporarily dump all stdio
  to /dev/dprintf (ie. the syslog).
* Made job matching case insensitive (as MIME types should be).
2015-07-22 20:40:01 +02:00
Axel Dörfler
e489a80da0 syslog_daemon: Style cleanups, no functional change. 2015-07-22 20:39:57 +02:00
Axel Dörfler
035e3e77ed kernel: profile system when SYSTEM_PROFILER is defined.
* This enables a mechanism to profile almost the complete boot process
  (starting with main2()), if SYSTEM_PROFILER is defined to 1.
* You can access the profiling data using "profile -r".
2015-07-22 20:39:52 +02:00
Axel Dörfler
1480e5da6f The beginnings of a launch_daemon for Haiku.
* This will be heavily inspired by Apple's launchd, as well as
  systemd -- for now it really doesn't do a whole lot, though.
* What works so far: the configuration files are read, parsed, and
  the jobs created.
* The jobs are even initialized, and their message ports created.
* BApplication now retrieves a previously created port from the
  launch_daemon for use with BServer.
* Only the registrar actually uses this for now.
2015-07-22 20:39:47 +02:00
Augustin Cavalier
5f83ad89eb Tracker: Move DirMenu.h to headers/private/tracker so other applications can uuse it. 2015-07-21 19:52:43 -04:00
Augustin Cavalier
4d556706b5 docs/user: s/http:/https:/. 2015-07-21 18:24:37 -04:00
Axel Dörfler
b46999bc02 Tracker: page down/up now selects poses.
* When pressing shift it will also extend the selection to the bottom
  or the top of the page.
* It does not deselect anything yet, but Tracker's selection logic is
  pretty questionable, anyway, and it's way too complicated to
  implement this nicely as of now.
2015-07-21 21:27:38 +02:00
Humdinger
7d0bb19b09 Added new release of Clipdinger
Fewer bugs. Fade to grey.
2015-07-21 17:23:08 +02:00
Jérôme Duval
94887feb64 Added some support for GCC 5+. 2015-07-20 21:45:02 +02:00
Adrien Destugues
bdd4f6b7d0 Update cmake package
Fixes gethostbyname_r problem.
2015-07-20 21:43:12 +02:00
Rene Gollent
f068ecea0a Icon-O-Matic: Fix gcc4 build.
- Add explicit casts to uint8 since gcc4 otherwise warns about a narrowing
  conversion.
2015-07-19 21:06:42 -04:00
Stephan Aßmus
f333ade309 Icon-O-Matic: Converted color picker to use layouting
Basically synced the code with what I did for WIP WonderBrush rewrite.
 * Converted to use layouting
 * Removed unused liblayout MView cruft
 * Removed need for rendering in separate threads in favor of
   rendering lazily. The original Colors! rendering was insanely slow
   and inefficient, hence the separate rendering threads.
 * Some style fixes along the way.
 * Some minor bug fixes, too, but these were not actually triggered.
 * Renamed selected_color_mode.h to SelectedColorMode.h
2015-07-19 23:20:22 +02:00
Stephan Aßmus
0ebc8ac6ef IOM/ColorField: Get rid of useless threads
Generate bitmap in Draw() lazily. Removed liblayout stuff. Support for
Haiku layout methods. Fixed some bugs with selecting red/green/blue
as fixed values (ticket #10574).
2015-07-19 23:20:11 +02:00
Stephan Aßmus
44046ca5cd IOM/AlphaSlider: Removed liblayout suff, added Haiku layout methods
Also added support for border styles.
2015-07-19 23:20:02 +02:00
Alexander von Gluck IV
e34f263837 haikudepot: Fix style issues in hrev49418 2015-07-19 09:56:54 -05:00
Alexander von Gluck IV
d52bb3081c bin/fdinfo: Fix format strings through B_PRI macros 2015-07-19 09:43:17 -05:00
Alexander von Gluck IV
0469da76ba bin/iroster: Fix format strings through B_PRI macros 2015-07-19 09:31:22 -05:00
Alexander von Gluck IV
46e1214196 bin/hd: Fix format strings through B_PRI macros 2015-07-19 09:31:03 -05:00
Alexander von Gluck IV
3f06c69ed4 bin/fstrim: Fix format strings through B_PRI macros 2015-07-19 09:25:41 -05:00
Alexander von Gluck IV
ec4e0aea76 bin/driveinfo: Fix format strings through B_PRI macros 2015-07-19 09:23:54 -05:00
Alexander von Gluck IV
f783542c1b bin/diskimage: Fix format strings through B_PRI macros 2015-07-19 09:19:11 -05:00
Alexander von Gluck IV
deb9fbcb85 bin/df: Fix format strings through B_PRI macros 2015-07-19 09:12:19 -05:00
Andrew Lindesay
93407f0c87 HaikuDepot: desktop app can now have server url specified
* Enables us to test to other HD servers

Completes Task #12216
2015-07-19 08:46:26 -05:00
Andrew Lindesay
874bb4ede9 hvif2png: Input file reading fix, file magic check
* Fix an infinite loop on reading a larger file.
* Check hvif magic number

Ticket #12207.

Signed-off-by: Ingo Weinhold <ingo_weinhold@gmx.de>
2015-07-19 11:42:18 +02:00
Rene Gollent
a3b04ab398 Debugger: Fix oversight in TeamDebugger.
- In the case where the target team terminates, the subsequent prompt
  to ask the user what action they wish to take in response needs to
  take into account the possibility that the UserInterface in question
  hasn't yet implemented such prompting. Treat such a case as equivalent
  to asking the debugger to quit.

Addresses part of #10292.
2015-07-18 16:42:38 -04:00
Augustin Cavalier
e7b593f31c userdel: Fix typo. 2015-07-18 14:35:53 -04:00
Augustin Cavalier
7eccc69001 Rename PackageInstaller to LegacyPackageInstaller.
Affects only the file name, not the mimetype.
Fixes #10004.
2015-07-18 14:35:08 -04:00
Humdinger
ec0204ad1e Update Pe package to a current build.
gcc2 only for the time being, as the other plattforms either
don't build or the resulting binary doesn't launch.

x86: "runtime_loader: Cannot open file libnetwork.so: No such file or directory"
	It also refuses to build with haikuporter's -S option:
	"POLICY ERROR: can't find used library "libstdc++.r4.so"

x64: "bash: ./Pe: cannot execute binary file: Not an executable"
	And the same policy error with -S as x86.

Anyone feel free to fix that... :)
2015-07-18 17:41:33 +02:00
Ingo Weinhold
0721444745 hvif2png: Fix closing of streams
* h2p_close_state():
  - Don't close stdin/stdout.
  - Set in/out to NULL to prevent accidental double closing.
* h2p_open_streams(): Simplify closing on error. No need for
  fclose_quietly().
2015-07-18 09:04:33 +02:00