Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nx-libs
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
dimbor
nx-libs
Commits
655173ff
Commit
655173ff
authored
Feb 29, 2012
by
Mihai Moldovan
Committed by
Mike Gabriel
Feb 29, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add patch: 051_nxcomp_macos105-fdisset.full+lite.patch, work around issue in Mac OS X 10.5 SDK.
parent
be86627a
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
87 additions
and
0 deletions
+87
-0
changelog
debian/changelog
+4
-0
051_nxcomp_macos105-fdisset.full+lite.patch
debian/patches/051_nxcomp_macos105-fdisset.full+lite.patch
+82
-0
series
debian/patches/series
+1
-0
No files found.
debian/changelog
View file @
655173ff
...
@@ -5,6 +5,10 @@ nx-libs (2:3.5.0.12-0) UNRELEASED; urgency=low
...
@@ -5,6 +5,10 @@ nx-libs (2:3.5.0.12-0) UNRELEASED; urgency=low
packaging. Test for Makefiles in subfolders before calling them.
packaging. Test for Makefiles in subfolders before calling them.
Fixes build failure during ,,make distclean'' calls.
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 ]
[ Oleksandr Shneyder ]
* Create patch: 203_nxagent_disable-rootless-exit.full.patch.
* Create patch: 203_nxagent_disable-rootless-exit.full.patch.
Add command line argument "-norootlessexit".
Add command line argument "-norootlessexit".
...
...
debian/patches/051_nxcomp_macos105-fdisset.full+lite.patch
0 → 100644
View file @
655173ff
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@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
debian/patches/series
View file @
655173ff
...
@@ -25,6 +25,7 @@
...
@@ -25,6 +25,7 @@
030_nx-X11_configure-args.full.patch
030_nx-X11_configure-args.full.patch
031_nx-X11_parallel-make.full.patch
031_nx-X11_parallel-make.full.patch
032_no-x11r6.full.patch
032_no-x11r6.full.patch
051_nxcomp_macos105-fdisset.full+lite.patch
101_nxagent_set-rgb-path.full.patch
101_nxagent_set-rgb-path.full.patch
102_xserver-xext_set-securitypolicy-path.full.patch
102_xserver-xext_set-securitypolicy-path.full.patch
103_nxagent_set-X0-config-path.full.patch
103_nxagent_set-X0-config-path.full.patch
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment