daemon
int daemon(int noChangeDir, int noClose);
status_t RegisterSessionDaemon(const BMessenger& daemon);
extern int daemon(int nochdir, int noclose);
BMailDaemon daemon;
result = daemon.Launch();
daemon.SendQueuedMail();
if (daemon(1, 1) < 0) {
BLaunchRoster::Private::RegisterSessionDaemon(const BMessenger& daemon)
status = request.AddMessenger("daemon", daemon);
BMessenger daemon(B_MAIL_DAEMON_SIGNATURE);
if (!daemon.IsValid())
daemon.SendMessage(&msg);
BMailDaemon daemon;
if (settings.DaemonAutoStarts() && !daemon.IsRunning())
daemon.Launch();
else if (!settings.DaemonAutoStarts() && daemon.IsRunning())
daemon.Quit();
LaunchDaemon* daemon = new LaunchDaemon(true, status);
daemon->Run();
delete daemon;
LaunchDaemon* daemon = new LaunchDaemon(false, status);
daemon->Run();
delete daemon;
Session::Session(uid_t user, const BMessenger& daemon)
fDaemon(daemon)
PackageDaemon daemon(&error);
error = daemon.Init();
daemon.Run();
SyslogDaemon daemon;
daemon.Run();
init_listener_output(SyslogDaemon* daemon)
daemon->AddHandler(listener_output);
void init_listener_output(SyslogDaemon* daemon);
init_syslog_output(SyslogDaemon *daemon)
daemon->AddHandler(syslog_output);
void init_syslog_output(SyslogDaemon *daemon);
fDaemons.Add(daemon);
struct daemon* daemon = iterator.Next();
if (daemon->function == function && daemon->arg == arg) {
while (daemon->executing) {
delete daemon;
struct daemon* daemon = iterator.Next();
(addr_t)daemon->function, NULL, &symbol, &imageName, &exactMatch);
kprintf("\t%s:%s (%p)", imageName, symbol, daemon->function);
kprintf("\t%p", daemon->function);
kprintf(", arg %p%s\n", daemon->arg,
daemon->executing ? " (running) " : "");
struct daemon*
KernelDaemon::_NextDaemon(struct daemon& marker)
struct daemon* daemon;
daemon = fDaemons.Head();
daemon = fDaemons.GetNext(&marker);
marker.arg = daemon;
if (daemon != NULL)
fDaemons.InsertAfter(daemon, &marker);
return daemon;
struct daemon marker;
struct daemon : DoublyLinkedListLinkImpl<struct daemon> {
while (struct daemon* daemon = _NextDaemon(marker)) {
daemon->executing = true;
bigtime_t next = (daemon->last +
(daemon->frequency * iterationToUsecs)) - time;
daemon->last = time;
next = daemon->frequency * iterationToUsecs;
daemon->function(daemon->arg, (time - start) / iterationToUsecs);
daemon->executing = false;
typedef DoublyLinkedList<struct daemon> DaemonList;
struct daemon* _NextDaemon(struct daemon& marker);
struct ::daemon* daemon = new(std::nothrow) (struct ::daemon);
if (daemon == NULL)
daemon->function = function;
daemon->arg = arg;
daemon->frequency = frequency;
daemon->last = 0;
daemon->executing = false;