From f924f4f199f289a18b642de632ec69558f3af3f9 Mon Sep 17 00:00:00 2001 From: Michael Krelin Date: Wed, 29 Jan 2014 16:55:49 +0000 Subject: Seems to fix the problem with newer gsoap trying to perform ipv6-specific setsockopt --- diff --git a/src/eyefiworker.cc b/src/eyefiworker.cc index 597a3f2..ac96c7f 100644 --- a/src/eyefiworker.cc +++ b/src/eyefiworker.cc @@ -18,6 +18,12 @@ # include "iiidb.h" #endif +#ifdef WITH_IPV6 +# define BINDTO "::" +#else +# define BINDTO 0 +#endif + eyefiworker::eyefiworker() : eyefiService(SOAP_IO_STORE|SOAP_IO_KEEPALIVE) { bind_flags = SO_REUSEADDR; max_keep_alive = 0; @@ -48,7 +54,7 @@ static void fmimewriteclose_(struct soap *soap,void *handle) { } int eyefiworker::run(int bindport) { - if(!soap_valid_socket(bind(0,bindport,64))) + if(!soap_valid_socket(bind(BINDTO,bindport,64))) throw std::runtime_error("failed to bind()"); signal(SIGCHLD,SIG_IGN); fmimewriteopen=fmimewriteopen_; fmimewrite=fmimewrite_; fmimewriteclose=fmimewriteclose_; -- cgit v0.9.0.2