Files
@ ba5f26a7ceba
Branch filter:
Location: libtransport.git/backends/twitter/main.cpp - annotation
ba5f26a7ceba
1.2 KiB
text/x-c++hdr
Re-worked top-level CMakeLists.txt to allow configuring using ENABLE_* style variables.
cb62e786889f 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 3720df9cbef9 3720df9cbef9 3720df9cbef9 3720df9cbef9 137727e70ef9 137727e70ef9 137727e70ef9 3720df9cbef9 137727e70ef9 cb62e786889f 3720df9cbef9 3f59eeef9537 e691d05c4786 e691d05c4786 e691d05c4786 e691d05c4786 3f59eeef9537 e691d05c4786 e691d05c4786 e691d05c4786 137727e70ef9 137727e70ef9 137727e70ef9 3720df9cbef9 137727e70ef9 137727e70ef9 137727e70ef9 137727e70ef9 | #include "TwitterPlugin.h"
DEFINE_LOGGER(logger, "Twitter Backend");
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);
}
}
int main (int argc, char* argv[]) {
std::string host;
int port;
if (signal(SIGCHLD, spectrum_sigchld_handler) == SIG_ERR) {
std::cout << "SIGCHLD handler can't be set\n";
return -1;
}
std::string error;
Config *cfg = Config::createFromArgs(argc, argv, error, host, port);
if (cfg == NULL) {
std::cerr << error;
return 1;
}
Logging::initBackendLogging(cfg);
StorageBackend *storagebackend;
storagebackend = StorageBackend::createBackend(cfg, error);
if (storagebackend == NULL) {
LOG4CXX_ERROR(logger, "Error creating StorageBackend! " << error)
return -2;
}
else if (!storagebackend->connect()) {
LOG4CXX_ERROR(logger, "Can't connect to database!")
return -1;
}
Swift::SimpleEventLoop eventLoop;
loop_ = &eventLoop;
np = new TwitterPlugin(cfg, &eventLoop, storagebackend, host, port);
loop_->run();
return 0;
}
|