Files
@ d11fdaf3e279
Branch filter:
Location: libtransport.git/backends/template/main.cpp - annotation
d11fdaf3e279
1.3 KiB
text/x-c++hdr
systemd: wait for network-online.target and add WantedBy=multi-user.target
Thanks to that, "systemctl enable spectrum2" does what expected, that is
makes Spectrum2 start on boot. Also, network.target doesn't tell anything
meaningful - it's just that the network stack is available.
Adding network-online.target makes sure that the network interfaces are up
before starting Spectrum2.
Thanks to that, "systemctl enable spectrum2" does what expected, that is
makes Spectrum2 start on boot. Also, network.target doesn't tell anything
meaningful - it's just that the network stack is available.
Adding network-online.target makes sure that the network interfaces are up
before starting Spectrum2.
8b6068588621 8b6068588621 40d678184272 78e71f9345c7 78e71f9345c7 78e71f9345c7 40d678184272 40d678184272 40d678184272 40d678184272 15bdfab39ccf 40d678184272 40d678184272 40d678184272 40d678184272 40d678184272 4fe987b774d2 40d678184272 40d678184272 40d678184272 40d678184272 40d678184272 40d678184272 15bdfab39ccf ab2424659344 40d678184272 40d678184272 40d678184272 40d678184272 40d678184272 40d678184272 40d678184272 40d678184272 40d678184272 40d678184272 40d678184272 40d678184272 40d678184272 40d678184272 40d678184272 ab2424659344 40d678184272 40d678184272 40d678184272 40d678184272 40d678184272 15bdfab39ccf 40d678184272 40d678184272 40d678184272 40d678184272 ab2424659344 40d678184272 060510d6958e 060510d6958e 060510d6958e 060510d6958e 40d678184272 40d678184272 40d678184272 060510d6958e 40d678184272 40d678184272 8b6068588621 8b6068588621 40d678184272 40d678184272 40d678184272 | #include "plugin.h"
// Transport includes
#include "transport/Config.h"
#include "transport/NetworkPlugin.h"
#include "transport/Logging.h"
// Swiften
#include "Swiften/Swiften.h"
#ifndef _WIN32
// for signal handler
#include "unistd.h"
#include "signal.h"
#include "sys/wait.h"
#include "sys/signal.h"
#endif
// Boost
#include <boost/algorithm/string.hpp>
using namespace boost::filesystem;
using namespace boost::program_options;
using namespace Transport;
#ifndef _WIN32
static void spectrum_sigchld_handler(int sig)
{
int status;
pid_t pid;
do {
pid = waitpid(-1, &status, WNOHANG);
} while (pid != 0 && pid != (pid_t)-1);
if ((pid == (pid_t) - 1) && (errno != ECHILD)) {
char errmsg[BUFSIZ];
snprintf(errmsg, BUFSIZ, "Warning: waitpid() returned %d", pid);
perror(errmsg);
}
}
#endif
int main (int argc, char* argv[]) {
std::string host;
int port;
#ifndef _WIN32
if (signal(SIGCHLD, spectrum_sigchld_handler) == SIG_ERR) {
std::cout << "SIGCHLD handler can't be set\n";
return -1;
}
#endif
std::string error;
Config *cfg = Config::createFromArgs(argc, argv, error, host, port);
if (cfg == NULL) {
std::cerr << error;
return 1;
}
Logging::initBackendLogging(cfg);
Swift::SimpleEventLoop eventLoop;
Plugin p(cfg, &eventLoop, host, port);
eventLoop.run();
return 0;
}
|