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.
This commit is contained in:
@@ -101,7 +101,7 @@ private:
|
||||
friend class BServer;
|
||||
|
||||
BApplication(const char* signature,
|
||||
const char* looperName,
|
||||
const char* looperName, port_id port,
|
||||
bool initGUI, status_t* error);
|
||||
BApplication(uint32 signature);
|
||||
BApplication(const BApplication&);
|
||||
@@ -121,6 +121,7 @@ private:
|
||||
const char* property);
|
||||
void _InitData(const char* signature, bool initGUI,
|
||||
status_t* error);
|
||||
port_id _GetPort(const char* signature);
|
||||
void BeginRectTracking(BRect r, bool trackWhole);
|
||||
void EndRectTracking();
|
||||
status_t _SetupServerAllocator();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2001-2014 Haiku, Inc. All rights reserved.
|
||||
* Copyright 2001-2015 Haiku, Inc. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
@@ -135,14 +135,16 @@ private:
|
||||
static status_t _LockComplete(BLooper* loop, int32 old,
|
||||
thread_id this_tid, sem_id sem,
|
||||
bigtime_t timeout);
|
||||
void _InitData(const char* name, int32 priority, int32 capacity);
|
||||
void _InitData(const char* name, int32 priority,
|
||||
port_id port, int32 capacity);
|
||||
void AddMessage(BMessage* msg);
|
||||
void _AddMessagePriv(BMessage* msg);
|
||||
static status_t _task0_(void* arg);
|
||||
|
||||
void* ReadRawFromPort(int32* code,
|
||||
bigtime_t tout = B_INFINITE_TIMEOUT);
|
||||
BMessage* ReadMessageFromPort(bigtime_t tout = B_INFINITE_TIMEOUT);
|
||||
bigtime_t timeout = B_INFINITE_TIMEOUT);
|
||||
BMessage* ReadMessageFromPort(
|
||||
bigtime_t timeout = B_INFINITE_TIMEOUT);
|
||||
virtual BMessage* ConvertToMessage(void* raw, int32 code);
|
||||
virtual void task_looper();
|
||||
void _QuitRequested(BMessage* msg);
|
||||
|
||||
Reference in New Issue
Block a user