193 lines
5.2 KiB
Diff
193 lines
5.2 KiB
Diff
diff -Naur libdbus-c++-0.9.0.orig/include/dbus-c++/eventloop-integration.h libdbus-c++-0.9.0/include/dbus-c++/eventloop-integration.h
|
|
--- libdbus-c++-0.9.0.orig/include/dbus-c++/eventloop-integration.h 2018-06-18 09:00:31.731863100 -0400
|
|
+++ libdbus-c++-0.9.0/include/dbus-c++/eventloop-integration.h 2018-06-18 10:41:14.726173200 -0400
|
|
@@ -90,7 +90,7 @@
|
|
|
|
private:
|
|
bool _running;
|
|
- int _pipe[2];
|
|
+ int _Pipe[2];
|
|
std::list <Pipe *> pipe_list;
|
|
};
|
|
|
|
diff -Naur libdbus-c++-0.9.0.orig/src/eventloop.cpp libdbus-c++-0.9.0/src/eventloop.cpp
|
|
--- libdbus-c++-0.9.0.orig/src/eventloop.cpp 2018-06-18 09:00:31.607861900 -0400
|
|
+++ libdbus-c++-0.9.0/src/eventloop.cpp 2018-06-18 09:22:34.113010700 -0400
|
|
@@ -28,7 +28,13 @@
|
|
#include <dbus-c++/eventloop.h>
|
|
#include <dbus-c++/debug.h>
|
|
|
|
+#ifdef _WIN32
|
|
+#include <winsock2.h>
|
|
+#define poll WSAPoll
|
|
+#define pollfd WSAPOLLFD
|
|
+#else
|
|
#include <sys/poll.h>
|
|
+#endif
|
|
#include <sys/time.h>
|
|
|
|
#include <dbus/dbus.h>
|
|
@@ -85,7 +91,7 @@
|
|
{
|
|
if (recursive)
|
|
{
|
|
- pthread_mutex_t recmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
|
|
+ pthread_mutex_t recmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER;
|
|
_mutex = recmutex;
|
|
}
|
|
else
|
|
diff -Naur libdbus-c++-0.9.0.orig/src/eventloop-integration.cpp libdbus-c++-0.9.0/src/eventloop-integration.cpp
|
|
--- libdbus-c++-0.9.0.orig/src/eventloop-integration.cpp 2018-06-18 09:00:31.605863100 -0400
|
|
+++ libdbus-c++-0.9.0/src/eventloop-integration.cpp 2018-06-18 10:49:21.392037900 -0400
|
|
@@ -36,7 +36,13 @@
|
|
/* STD */
|
|
#include <string.h>
|
|
#include <cassert>
|
|
+#ifdef _WIN32
|
|
+#include <winsock2.h>
|
|
+#define poll WSAPoll
|
|
+#define pollfd WSAPOLLFD
|
|
+#else
|
|
#include <sys/poll.h>
|
|
+#endif
|
|
#include <fcntl.h>
|
|
|
|
using namespace DBus;
|
|
@@ -79,13 +85,16 @@
|
|
BusDispatcher::BusDispatcher() :
|
|
_running(false)
|
|
{
|
|
+ #ifdef _WIN32
|
|
+ #define pipe _pipe
|
|
+ #endif
|
|
// pipe to create a new fd used to unlock a dispatcher at any
|
|
// moment (used by leave function)
|
|
- int ret = pipe(_pipe);
|
|
+ int ret = pipe(_Pipe, 0, _O_BINARY | _O_NOINHERIT);
|
|
if (ret == -1) throw Error("PipeError:errno", toString(errno).c_str());
|
|
|
|
- _fdunlock[0] = _pipe[0];
|
|
- _fdunlock[1] = _pipe[1];
|
|
+ _fdunlock[0] = _Pipe[0];
|
|
+ _fdunlock[1] = _Pipe[1];
|
|
}
|
|
|
|
void BusDispatcher::enter()
|
|
diff -Naur libdbus-c++-0.9.0.orig/src/Makefile.am libdbus-c++-0.9.0/src/Makefile.am
|
|
--- libdbus-c++-0.9.0.orig/src/Makefile.am 2018-06-18 09:00:31.630862000 -0400
|
|
+++ libdbus-c++-0.9.0/src/Makefile.am 2018-06-18 09:02:41.541225800 -0400
|
|
@@ -31,6 +31,9 @@
|
|
libdbus_c___1_la_LIBADD = \
|
|
$(dbus_LIBS)
|
|
|
|
+libdbus_c___1_la_LDFLAGS = \
|
|
+ -no-undefined
|
|
+
|
|
AM_CPPFLAGS = \
|
|
$(dbus_CFLAGS) \
|
|
$(glib_CFLAGS) \
|
|
diff -Naur libdbus-c++-0.9.0.orig/src/pipe.cpp libdbus-c++-0.9.0/src/pipe.cpp
|
|
--- libdbus-c++-0.9.0.orig/src/pipe.cpp 2018-06-18 09:00:31.618869800 -0400
|
|
+++ libdbus-c++-0.9.0/src/pipe.cpp 2018-06-18 10:34:24.220185100 -0400
|
|
@@ -32,7 +32,13 @@
|
|
|
|
/* STD */
|
|
#include <unistd.h>
|
|
+#ifdef _WIN32
|
|
+#include <winsock2.h>
|
|
+#define poll WSAPoll
|
|
+#define pollfd WSAPOLLFD
|
|
+#else
|
|
#include <sys/poll.h>
|
|
+#endif
|
|
#include <fcntl.h>
|
|
#include <errno.h>
|
|
#include <cassert>
|
|
@@ -47,12 +53,21 @@
|
|
_data(data)
|
|
{
|
|
int fd[2];
|
|
-
|
|
+ #ifdef _WIN32
|
|
+ #define pipe _pipe
|
|
+ if (_pipe((fd), 0, _O_BINARY | _O_NOINHERIT) == 0)
|
|
+ #else
|
|
if (pipe(fd) == 0)
|
|
+ #endif
|
|
{
|
|
_fd_read = fd[0];
|
|
_fd_write = fd[1];
|
|
+ #ifdef _WIN32
|
|
+ u_long nonblock = 1;
|
|
+ ioctlsocket(_fd_read, FIONBIO, &nonblock);
|
|
+ #else
|
|
fcntl(_fd_read, F_SETFL, O_NONBLOCK);
|
|
+ #endif
|
|
}
|
|
else
|
|
{
|
|
diff -Naur libdbus-c++-0.9.0.orig/tools/generate_proxy.cpp libdbus-c++-0.9.0/tools/generate_proxy.cpp
|
|
--- libdbus-c++-0.9.0.orig/tools/generate_proxy.cpp 2018-06-18 09:00:31.311874400 -0400
|
|
+++ libdbus-c++-0.9.0/tools/generate_proxy.cpp 2018-06-18 11:15:32.307777800 -0400
|
|
@@ -352,7 +352,7 @@
|
|
if (!arg_name.length())
|
|
{
|
|
arg_name = "argin";
|
|
- arg_name += toString <uint> (i);
|
|
+ arg_name += toString <int> (i);
|
|
}
|
|
|
|
// generate extra code to wrap object
|
|
@@ -445,7 +445,7 @@
|
|
|
|
if (!arg_name.length())
|
|
{
|
|
- arg_name = "argout" + toString <uint> (i);
|
|
+ arg_name = "argout" + toString <int> (i);
|
|
}
|
|
|
|
if (arg_object.length())
|
|
@@ -569,7 +569,7 @@
|
|
// use a default if no arg name given
|
|
if (!arg_name.length())
|
|
{
|
|
- arg_name = "arg" + toString <uint> (i);
|
|
+ arg_name = "arg" + toString <int> (i);
|
|
}
|
|
|
|
body << arg_name << ";" << endl;
|
|
@@ -605,7 +605,7 @@
|
|
|
|
if (!arg_name.length())
|
|
{
|
|
- arg_name = "arg" + toString <uint> (j);
|
|
+ arg_name = "arg" + toString <int> (j);
|
|
}
|
|
|
|
if (arg_object.length())
|
|
diff -Naur libdbus-c++-0.9.0.orig/tools/introspect.cpp libdbus-c++-0.9.0/tools/introspect.cpp
|
|
--- libdbus-c++-0.9.0.orig/tools/introspect.cpp 2018-06-18 09:00:31.305870900 -0400
|
|
+++ libdbus-c++-0.9.0/tools/introspect.cpp 2018-06-18 10:57:13.796040700 -0400
|
|
@@ -45,9 +45,11 @@
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
+#ifndef _WIN32
|
|
signal(SIGTERM, niam);
|
|
signal(SIGINT, niam);
|
|
signal(SIGALRM, niam);
|
|
+#endif
|
|
|
|
if (argc == 1)
|
|
{
|
|
@@ -70,7 +72,9 @@
|
|
|
|
DBus::default_dispatcher = &dispatcher;
|
|
|
|
+#ifndef _WIN32
|
|
alarm(1);
|
|
+#endif
|
|
|
|
dispatcher.enter();
|
|
}
|