Commit 7e5c04b5 authored by Mike Gabriel's avatar Mike Gabriel

Pass address of fd_set structs on the stack to the FD_ISSET macro/function,…

Pass address of fd_set structs on the stack to the FD_ISSET macro/function, instead of the struct itself.
parent 655173ff
......@@ -7,7 +7,8 @@ nx-libs (2:3.5.0.12-0) UNRELEASED; urgency=low
[ Mihai Moldovan ]
* Add patch: 051_nxcomp_macos105-fdisset.full+lite.patch, work around
issue in Mac OS X 10.5 SDK.
issue in Mac OS X 10.5 SDK. Pass address of fd_set structs on the stack
to the FD_ISSET macro/function, instead of the struct itself.
[ Oleksandr Shneyder ]
* Create patch: 203_nxagent_disable-rootless-exit.full.patch.
......
......@@ -27,14 +27,14 @@ Author: Mihai Moldovan <ionic@ionic.de>
*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)
+ (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) &&
+ return (FD_ISSET(remoteFd_, &readWorkSet) &&
transport_ -> dequeuable() != 0);
}
......@@ -47,16 +47,16 @@ Author: Mihai Moldovan <ionic@ionic.de>
#if defined(TEST) || defined(INFO)
*logofs << "Agent: remoteCanWrite() is " <<
- (FD_ISSET(remoteFd_, writeSet) && transport_ ->
+ (FD_ISSET(remoteFd_, writeWorkSet) && 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 "
+ << (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) &&
+ return (FD_ISSET(remoteFd_, &writeWorkSet) &&
transport_ -> queuable() != 0 &&
canRead_ == 1);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment