[X2go-Commits] nx-libs.git - master (branch) updated: redist-client/3.5.0.11-4-g655173f

X2go dev team git-admin at x2go.org
Wed Feb 29 16:29:47 CET 2012


The branch, master has been updated
       via  655173ff215dde1a167193eafe29bfc955a19561 (commit)
      from  be86627adf0392f94d70ad28cb9c6867b3bef0f5 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 655173ff215dde1a167193eafe29bfc955a19561
Author: Mihai Moldovan <ionic at ionic.de>
Date:   Wed Feb 29 15:56:49 2012 +0100

    Add patch: 051_nxcomp_macos105-fdisset.full+lite.patch, work around issue in Mac OS X 10.5 SDK.

-----------------------------------------------------------------------

Summary of changes:
 debian/changelog                                   |    4 +
 .../051_nxcomp_macos105-fdisset.full+lite.patch    |   82 ++++++++++++++++++++
 debian/patches/series                              |    1 +
 3 files changed, 87 insertions(+), 0 deletions(-)
 create mode 100644 debian/patches/051_nxcomp_macos105-fdisset.full+lite.patch

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index d2da304..ff0f01e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,10 @@ nx-libs (2:3.5.0.12-0) UNRELEASED; urgency=low
     packaging. Test for Makefiles in subfolders before calling them.
     Fixes build failure during ,,make distclean'' calls.
 
+  [ Mihai Moldovan ]
+  * Add patch: 051_nxcomp_macos105-fdisset.full+lite.patch, work around
+    issue in Mac OS X 10.5 SDK.
+
   [ Oleksandr Shneyder ]
   * Create patch: 203_nxagent_disable-rootless-exit.full.patch.
     Add command line argument "-norootlessexit".
diff --git a/debian/patches/051_nxcomp_macos105-fdisset.full+lite.patch b/debian/patches/051_nxcomp_macos105-fdisset.full+lite.patch
new file mode 100644
index 0000000..86f24e8
--- /dev/null
+++ b/debian/patches/051_nxcomp_macos105-fdisset.full+lite.patch
@@ -0,0 +1,82 @@
+Description: workaround for Mac OS X 10.5 
+ The Mac OS X 10.5 SDK requires the second argument of FD_ISSET to be
+ writeable, although it does only access the data. Given that we have a
+ const pointer for a const struct, copy and pass that.
+ .
+ Note that this is merely a workaround for OS X 10.5, as 10.6 and later
+ define the second argument of FD_ISSET as const struct const *foo, too.
+ .
+ It is safe, as data is accessed read-only by FD_ISSET, even on 10.5.
+Forward: pending
+Author: Mihai Moldovan <ionic at ionic.de>
+---
+ nxcomp/Agent.h |   28 ++++++++++++++++++++--------
+ 1 files changed, 20 insertions(+), 8 deletions(-)
+
+--- a/nxcomp/Agent.h
++++ b/nxcomp/Agent.h
+@@ -149,30 +149,38 @@
+ 
+   int remoteCanRead(const fd_set * const readSet)
+   {
++    // OS X 10.5 requires the second argument to be non-const, so copy readSet.
++    // It's safe though, as FD_ISSET does not operate on it.
++    fd_set readWorkSet = *readSet;
++
+     #if defined(TEST) || defined(INFO)
+     *logofs << "Agent: remoteCanRead() is " <<
+-               (FD_ISSET(remoteFd_, readSet) && transport_ -> dequeuable() != 0)
+-            << " with FD_ISSET() " << (int) FD_ISSET(remoteFd_, readSet)
++               (FD_ISSET(remoteFd_, readWorkSet) && transport_ -> dequeuable() != 0)
++            << " with FD_ISSET() " << (int) FD_ISSET(remoteFd_, readWorkSet)
+             << " and dequeuable " << transport_ -> dequeuable()
+             << ".\n" << logofs_flush;
+     #endif
+ 
+-    return (FD_ISSET(remoteFd_, readSet) &&
++    return (FD_ISSET(remoteFd_, readWorkSet) &&
+                 transport_ -> dequeuable() != 0);
+   }
+ 
+   int remoteCanWrite(const fd_set * const writeSet)
+   {
++    // OS X 10.5 requires the second argument to be non-const, so copy writeSet.
++    // It's safe though, as FD_ISSET does not operate on it.
++    fd_set writeWorkSet = *writeSet;
++
+     #if defined(TEST) || defined(INFO)
+     *logofs << "Agent: remoteCanWrite() is " <<
+-               (FD_ISSET(remoteFd_, writeSet) && transport_ ->
++               (FD_ISSET(remoteFd_, writeWorkSet) && transport_ ->
+                queuable() != 0 && canRead_ == 1) << " with FD_ISSET() "
+-            << (int) FD_ISSET(remoteFd_, writeSet) << " queueable "
++            << (int) FD_ISSET(remoteFd_, writeWorkSet) << " queueable "
+             << transport_ -> queuable() << " channel can read "
+             << canRead_ << ".\n" << logofs_flush;
+     #endif
+ 
+-    return (FD_ISSET(remoteFd_, writeSet) &&
++    return (FD_ISSET(remoteFd_, writeWorkSet) &&
+                 transport_ -> queuable() != 0 &&
+                     canRead_ == 1);
+   }
+@@ -203,13 +211,17 @@
+ 
+   int proxyCanRead(const fd_set * const readSet)
+   {
++    // OS X 10.5 requires the second argument to be non-const, so copy readSet.
++    // It's safe though, as FD_ISSET does not operate on it.
++    fd_set readWorkSet = *readSet;
++
+     #if defined(TEST) || defined(INFO)
+     *logofs << "Agent: proxyCanRead() is "
+-            << ((int) FD_ISSET(proxy -> getFd(), readSet)
++            << ((int) FD_ISSET(proxy -> getFd(), &readWorkSet)
+             << ".\n" << logofs_flush;
+     #endif
+ 
+-    return (FD_ISSET(proxy -> getFd(), readSet));
++    return (FD_ISSET(proxy -> getFd(), &readWorkSet));
+   }
+ 
+   int enqueueData(const char *data, const int size) const
diff --git a/debian/patches/series b/debian/patches/series
index 654f25c..dc42d85 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -25,6 +25,7 @@
 030_nx-X11_configure-args.full.patch
 031_nx-X11_parallel-make.full.patch
 032_no-x11r6.full.patch
+051_nxcomp_macos105-fdisset.full+lite.patch
 101_nxagent_set-rgb-path.full.patch
 102_xserver-xext_set-securitypolicy-path.full.patch
 103_nxagent_set-X0-config-path.full.patch


hooks/post-receive
-- 
nx-libs.git (NX (redistributed))

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "nx-libs.git" (NX (redistributed)).




More information about the x2go-commits mailing list