mirror of https://github.com/BOINC/boinc.git
More fixes, Linux make files.
svn path=/workspaces/charlief/; revision=15653
This commit is contained in:
parent
0b181be0f0
commit
4a12ba89e7
|
@ -5943,11 +5943,13 @@ David 21 July 2008
|
||||||
|
|
||||||
Charlie 21 July 2008
|
Charlie 21 July 2008
|
||||||
- MGR: async GUI RPCs: Fix RPC cancel, etc. for Windows.
|
- MGR: async GUI RPCs: Fix RPC cancel, etc. for Windows.
|
||||||
- MGR: async GUI RPCs: Update XCode project to include AsyncRPC.cpp,h
|
- MGR: async GUI RPCs: Update XCode, makefile project to include
|
||||||
|
AsyncRPC.cpp,h.
|
||||||
|
|
||||||
clientgui/
|
clientgui/
|
||||||
AsyncRPC.cpp
|
AsyncRPC.cpp
|
||||||
MainDocument.cpp,.h
|
MainDocument.cpp,.h
|
||||||
|
makefile.am
|
||||||
mac_build/
|
mac_build/
|
||||||
boinc.xcodeproj/
|
boinc.xcodeproj/
|
||||||
project.pbxproj
|
project.pbxproj
|
||||||
|
|
|
@ -235,11 +235,19 @@ int CMainDocument::RequestRPC(ASYNC_RPC_REQUEST& request) {
|
||||||
// start a new RPC thread.
|
// start a new RPC thread.
|
||||||
if (current_rpc_request.isActive) {
|
if (current_rpc_request.isActive) {
|
||||||
current_rpc_request.isActive = false;
|
current_rpc_request.isActive = false;
|
||||||
|
#if USE_CRITICAL_SECTIONS_FOR_ASYNC_RPCS
|
||||||
|
// Killing a thread while it is in a critical section
|
||||||
|
// usually causes an unrecoverable deadlock situation
|
||||||
|
m_critsect.Enter();
|
||||||
|
#endif
|
||||||
m_RPCThread->Pause(); // Needed on Windows
|
m_RPCThread->Pause(); // Needed on Windows
|
||||||
rpc.close();
|
rpc.close();
|
||||||
m_RPCThread->Kill();
|
m_RPCThread->Kill();
|
||||||
#ifdef __WXMSW__
|
#ifdef __WXMSW__
|
||||||
m_RPCThread->Delete(); // Needed on Windows, crashes on Mac/Linux
|
m_RPCThread->Delete(); // Needed on Windows, crashes on Mac/Linux
|
||||||
|
#endif
|
||||||
|
#if USE_CRITICAL_SECTIONS_FOR_ASYNC_RPCS
|
||||||
|
m_critsect.Leave();
|
||||||
#endif
|
#endif
|
||||||
m_RPCThread = NULL;
|
m_RPCThread = NULL;
|
||||||
RPC_requests.clear();
|
RPC_requests.clear();
|
||||||
|
@ -436,7 +444,7 @@ void AsyncRPCDlg::OnRPCDlgTimer(wxTimerEvent& WXUNUSED(event)) {
|
||||||
|
|
||||||
/// For testing: triggered by Advanced / Options menu item.
|
/// For testing: triggered by Advanced / Options menu item.
|
||||||
void CMainDocument::TestAsyncRPC() { // TEMPORARY FOR TESTING ASYNC RPCs -- CAF
|
void CMainDocument::TestAsyncRPC() { // TEMPORARY FOR TESTING ASYNC RPCs -- CAF
|
||||||
ALL_PROJECTS_LIST pl;
|
ALL_PROJECTS_LIST pl;
|
||||||
ASYNC_RPC_REQUEST request;
|
ASYNC_RPC_REQUEST request;
|
||||||
wxDateTime completionTime = wxDateTime((time_t)0);
|
wxDateTime completionTime = wxDateTime((time_t)0);
|
||||||
int retval = 0;
|
int retval = 0;
|
||||||
|
@ -456,7 +464,7 @@ ALL_PROJECTS_LIST pl;
|
||||||
|
|
||||||
retval = RequestRPC(request);
|
retval = RequestRPC(request);
|
||||||
|
|
||||||
wxString s = completionTime.Format("%X");
|
wxString s = completionTime.FormatTime();
|
||||||
wxLogMessage(wxT("Completion time = %s"), s.c_str());
|
wxLogMessage(wxT("Completion time = %s"), s.c_str());
|
||||||
wxLogMessage(wxT("RequestRPC returned %d\n"), retval);
|
wxLogMessage(wxT("RequestRPC returned %d\n"), retval);
|
||||||
}
|
}
|
||||||
|
|
|
@ -162,4 +162,4 @@ END_DECLARE_EVENT_TYPES()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // _ASYNCRPC_H_
|
#endif // _ASYNCRPC_H_
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include "common_defs.h"
|
#include "common_defs.h"
|
||||||
#include "gui_rpc_client.h"
|
#include "gui_rpc_client.h"
|
||||||
#include "asyncRPC.h"
|
#include "AsyncRPC.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int slot;
|
int slot;
|
||||||
|
|
|
@ -34,6 +34,7 @@ boinc_gui_SOURCES = \
|
||||||
AdvancedFrame.cpp \
|
AdvancedFrame.cpp \
|
||||||
AlreadyAttachedPage.cpp \
|
AlreadyAttachedPage.cpp \
|
||||||
AlreadyExistsPage.cpp \
|
AlreadyExistsPage.cpp \
|
||||||
|
AsyncRPC.cpp \
|
||||||
BOINCBaseFrame.cpp \
|
BOINCBaseFrame.cpp \
|
||||||
BOINCBaseView.cpp \
|
BOINCBaseView.cpp \
|
||||||
BOINCBaseWizard.cpp \
|
BOINCBaseWizard.cpp \
|
||||||
|
|
|
@ -70,6 +70,7 @@ OBJ = \
|
||||||
AccountManagerPropertiesPage.o \
|
AccountManagerPropertiesPage.o \
|
||||||
AlreadyAttachedPage.o \
|
AlreadyAttachedPage.o \
|
||||||
AlreadyExistsPage.o \
|
AlreadyExistsPage.o \
|
||||||
|
AsyncRPC.o \
|
||||||
CompletionErrorPage.o \
|
CompletionErrorPage.o \
|
||||||
CompletionPage.o \
|
CompletionPage.o \
|
||||||
NoInternetConnectionPage.o \
|
NoInternetConnectionPage.o \
|
||||||
|
|
|
@ -70,6 +70,7 @@ OBJ = \
|
||||||
AccountManagerPropertiesPage.o \
|
AccountManagerPropertiesPage.o \
|
||||||
AlreadyAttachedPage.o \
|
AlreadyAttachedPage.o \
|
||||||
AlreadyExistsPage.o \
|
AlreadyExistsPage.o \
|
||||||
|
AsyncRPC.o \
|
||||||
CompletionErrorPage.o \
|
CompletionErrorPage.o \
|
||||||
CompletionPage.o \
|
CompletionPage.o \
|
||||||
NoInternetConnectionPage.o \
|
NoInternetConnectionPage.o \
|
||||||
|
|
|
@ -70,6 +70,7 @@ OBJ = \
|
||||||
AccountManagerPropertiesPage.o \
|
AccountManagerPropertiesPage.o \
|
||||||
AlreadyAttachedPage.o \
|
AlreadyAttachedPage.o \
|
||||||
AlreadyExistsPage.o \
|
AlreadyExistsPage.o \
|
||||||
|
AsyncRPC.o \
|
||||||
CompletionErrorPage.o \
|
CompletionErrorPage.o \
|
||||||
CompletionPage.o \
|
CompletionPage.o \
|
||||||
NoInternetConnectionPage.o \
|
NoInternetConnectionPage.o \
|
||||||
|
|
Loading…
Reference in New Issue