summaryrefslogtreecommitdiffabout
path: root/src/eyefiworker.cc
Unidiff
Diffstat (limited to 'src/eyefiworker.cc') (more/less context) (ignore whitespace changes)
-rw-r--r--src/eyefiworker.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/eyefiworker.cc b/src/eyefiworker.cc
index c051482..9dcd048 100644
--- a/src/eyefiworker.cc
+++ b/src/eyefiworker.cc
@@ -1,9 +1,12 @@
1#include <signal.h> 1#include <signal.h>
2#include <stdexcept> 2#include <stdexcept>
3#include "eyefiworker.h" 3#include "eyefiworker.h"
4#ifdef HAVE_SQLITE
5# include "sqlite3.h"
6#endif
4 7
5eyefiworker::eyefiworker() 8eyefiworker::eyefiworker()
6 : eyefiService(SOAP_IO_STORE|SOAP_IO_KEEPALIVE) { 9 : eyefiService(SOAP_IO_STORE|SOAP_IO_KEEPALIVE) {
7 bind_flags = SO_REUSEADDR; max_keep_alive = 0; 10 bind_flags = SO_REUSEADDR; max_keep_alive = 0;
8 socket_flags = 11 socket_flags =
9#if defined(MSG_NOSIGNAL) 12#if defined(MSG_NOSIGNAL)
@@ -14,12 +17,15 @@ eyefiworker::eyefiworker()
14#error Something is wrong with sigpipe prevention on the platform 17#error Something is wrong with sigpipe prevention on the platform
15#endif 18#endif
16 ; 19 ;
17 } 20 }
18 21
19int eyefiworker::run(int bindport) { 22int eyefiworker::run(int bindport) {
23#ifdef HAVE_SQLITE
24 sqlite3_initialize();
25#endif
20 if(!soap_valid_socket(bind(0,bindport,64))) 26 if(!soap_valid_socket(bind(0,bindport,64)))
21 throw std::runtime_error("failed to bind()"); 27 throw std::runtime_error("failed to bind()");
22 signal(SIGCHLD,SIG_IGN); 28 signal(SIGCHLD,SIG_IGN);
23 while(true) { 29 while(true) {
24 if(!soap_valid_socket(accept())) 30 if(!soap_valid_socket(accept()))
25 throw std::runtime_error("failed to accept()"); 31 throw std::runtime_error("failed to accept()");