Files
        @ 8bd6de376842
    
        
              Branch filter: 
        
    Location: libtransport.git/backends/twitter/main.cpp - annotation
        
            
            8bd6de376842
            1.2 KiB
            text/x-c++hdr
        
        
    
    Move mainloop() up to compile it with g++
    | 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;
}
 |