15 |
|
extern "C" |
16 |
|
{ |
17 |
|
#include <sys/types.h> |
18 |
– |
#include <unistd.h> |
18 |
|
#include <signal.h> |
19 |
|
} |
20 |
|
|
67 |
|
Mounter mounter(config); |
68 |
|
Unmounter unmounter(config); |
69 |
|
|
70 |
< |
daemons.InsertLast(static_cast<Daemon*>(&mounter)); |
71 |
< |
daemons.InsertLast(static_cast<Daemon*>(&unmounter)); |
70 |
> |
daemons.InsertLast(dynamic_cast<Daemon*>(&mounter)); |
71 |
> |
daemons.InsertLast(dynamic_cast<Daemon*>(&unmounter)); |
72 |
|
|
73 |
|
{ |
74 |
|
struct ::sigaction action; |
83 |
|
|
84 |
|
api::Posix::CheckError(::sigaction(SIGTERM, &action, NULL)); |
85 |
|
} |
86 |
+ |
|
87 |
+ |
_mforeach (ext::Vector<Daemon*>, daemon, daemons) (*daemon)->start(); |
88 |
+ |
_mforeach (ext::Vector<Daemon*>, daemon, daemons) (*daemon)->wait(); |
89 |
|
} |
90 |
|
|
91 |
|
Spectre2::~Spectre2() |