mirror of https://github.com/BOINC/boinc.git
- MGR: Use Sleep instead of Yield for the async thread loop. On Posix
systems all Yield translates to is sched_yield but only if HAVE_SCHED_YIELD is defined in the wxWidget config file. If it isn't defined it becomes a null op. The async thread doesn't really need millisecond response times. Have it check every 100 milliseconds for an RPC to process. clientgui/ AsyncRPC.cpp svn path=/trunk/boinc/; revision=16398
This commit is contained in:
parent
ae95ae0527
commit
63c123fdc5
|
@ -9036,3 +9036,14 @@ David 3 Nov 2008
|
|||
cpu_sched.cpp
|
||||
sched/
|
||||
file_deleter.cpp
|
||||
|
||||
Rom 3 Nov 2008
|
||||
- MGR: Use Sleep instead of Yield for the async thread loop. On Posix
|
||||
systems all Yield translates to is sched_yield but only if
|
||||
HAVE_SCHED_YIELD is defined in the wxWidget config file. If it isn't
|
||||
defined it becomes a null op. The async thread doesn't really need
|
||||
millisecond response times. Have it check every 100 milliseconds
|
||||
for an RPC to process.
|
||||
|
||||
clientgui/
|
||||
AsyncRPC.cpp
|
||||
|
|
|
@ -118,23 +118,17 @@ void *RPCThread::Entry() {
|
|||
int retval;
|
||||
CRPCFinishedEvent RPC_done_event( wxEVT_RPC_FINISHED );
|
||||
|
||||
while(true) {
|
||||
// check if we were asked to exit
|
||||
if ( TestDestroy() )
|
||||
break;
|
||||
// check if we were asked to exit
|
||||
while(!TestDestroy()) {
|
||||
|
||||
if (! m_pDoc->GetCurrentRPCRequest()->isActive) {
|
||||
// Wait until CMainDocument issues next RPC request
|
||||
#ifdef __WXMSW__ // Until we can suspend the thread without Deadlock on Windows
|
||||
Sleep(1);
|
||||
#else
|
||||
Yield();
|
||||
#endif
|
||||
// Wait until CMainDocument issues next RPC request
|
||||
if (!m_pDoc->GetCurrentRPCRequest()->isActive) {
|
||||
Sleep(100);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (! m_pDoc->IsConnected()) {
|
||||
Yield();
|
||||
if (!m_pDoc->IsConnected()) {
|
||||
Sleep(100);
|
||||
}
|
||||
|
||||
retval = ProcessRPCRequest();
|
||||
|
|
Loading…
Reference in New Issue