mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=2164
This commit is contained in:
parent
8c098dfba5
commit
c1506abe39
|
@ -2,18 +2,18 @@
|
|||
// Version 1.0 (the "License"); you may not use this file except in
|
||||
// compliance with the License. You may obtain a copy of the License at
|
||||
// http://boinc.berkeley.edu/license_1.0.txt
|
||||
//
|
||||
//
|
||||
// Software distributed under the License is distributed on an "AS IS"
|
||||
// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
||||
// License for the specific language governing rights and limitations
|
||||
// under the License.
|
||||
//
|
||||
// The Original Code is the Berkeley Open Infrastructure for Network Computing.
|
||||
//
|
||||
// under the License.
|
||||
//
|
||||
// The Original Code is the Berkeley Open Infrastructure for Network Computing.
|
||||
//
|
||||
// The Initial Developer of the Original Code is the SETI@home project.
|
||||
// Portions created by the SETI@home project are Copyright (C) 2002
|
||||
// University of California at Berkeley. All Rights Reserved.
|
||||
//
|
||||
// University of California at Berkeley. All Rights Reserved.
|
||||
//
|
||||
// Contributor(s):
|
||||
//
|
||||
|
||||
|
@ -83,12 +83,17 @@ static bool write_frac_done = false;
|
|||
static bool this_process_active;
|
||||
static bool time_to_quit = false;
|
||||
bool using_opengl = false;
|
||||
bool standalone = false;
|
||||
APP_CLIENT_SHM *app_client_shm;
|
||||
|
||||
bool boinc_is_standalone()
|
||||
{
|
||||
return standalone;
|
||||
}
|
||||
|
||||
// read the INIT_DATA and FD_INIT files
|
||||
//
|
||||
int boinc_init() {
|
||||
bool standalone = false;
|
||||
int boinc_init(bool standalone_ /* = false */) {
|
||||
FILE* f;
|
||||
int retval;
|
||||
|
||||
|
@ -96,9 +101,7 @@ int boinc_init() {
|
|||
freopen(STDERR_FILE, "a", stderr);
|
||||
#endif
|
||||
|
||||
#ifdef API_STANDALONE
|
||||
standalone = true;
|
||||
#endif
|
||||
standalone = standalone_;
|
||||
|
||||
// If in standalone mode, use init files if they're there,
|
||||
// but don't demand that they exist
|
||||
|
@ -154,7 +157,7 @@ int boinc_init() {
|
|||
time_until_checkpoint = aid.checkpoint_period;
|
||||
time_until_fraction_done_update = aid.fraction_done_update_period;
|
||||
this_process_active = true;
|
||||
|
||||
|
||||
boinc_install_signal_handlers();
|
||||
set_timer(timer_period);
|
||||
setup_shared_mem();
|
||||
|
@ -193,7 +196,7 @@ LONG CALLBACK boinc_catch_signal(EXCEPTION_POINTERS *ExceptionInfo) {
|
|||
// If we've been in this procedure before, something went wrong so we immediately exit
|
||||
if (already_caught_signal) _exit(ERR_SIGNAL_CATCH);
|
||||
already_caught_signal = 1;
|
||||
|
||||
|
||||
switch (exceptionCode) {
|
||||
case STATUS_WAIT_0: safe_strncpy(status,"Wait 0",sizeof(status)); break;
|
||||
case STATUS_ABANDONED_WAIT_0: safe_strncpy(status,"Abandoned Wait 0",sizeof(status)); break;
|
||||
|
@ -294,7 +297,7 @@ bool boinc_time_to_checkpoint() {
|
|||
DWORD eventState;
|
||||
// Check if core client has requested us to exit
|
||||
eventState = WaitForSingleObject(hQuitRequest, 0L);
|
||||
|
||||
|
||||
switch (eventState) {
|
||||
case WAIT_OBJECT_0:
|
||||
case WAIT_ABANDONED:
|
||||
|
@ -313,7 +316,7 @@ bool boinc_time_to_checkpoint() {
|
|||
}
|
||||
|
||||
// If the application has received a quit request it should checkpoint
|
||||
//
|
||||
//
|
||||
if (time_to_quit) {
|
||||
return true;
|
||||
}
|
||||
|
@ -470,7 +473,7 @@ int set_timer(double period) {
|
|||
// Create the event object used to signal between the
|
||||
// worker and event threads
|
||||
|
||||
hQuitEvent = CreateEvent(
|
||||
hQuitEvent = CreateEvent(
|
||||
NULL, // no security attributes
|
||||
TRUE, // manual reset event
|
||||
TRUE, // initial state is signaled
|
||||
|
@ -503,11 +506,11 @@ int set_timer(double period) {
|
|||
|
||||
void setup_shared_mem(void) {
|
||||
app_client_shm = new APP_CLIENT_SHM;
|
||||
#ifdef API_STANDALONE
|
||||
app_client_shm->shm = NULL;
|
||||
fprintf( stderr, "Standalone mode, so not attaching to shared memory.\n" );
|
||||
return;
|
||||
#endif
|
||||
if (standalone) {
|
||||
app_client_shm->shm = NULL;
|
||||
fprintf( stderr, "Standalone mode, so not attaching to shared memory.\n" );
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
char buf[256];
|
||||
|
@ -528,7 +531,7 @@ void setup_shared_mem(void) {
|
|||
|
||||
void cleanup_shared_mem(void) {
|
||||
if (!app_client_shm) return;
|
||||
|
||||
|
||||
#ifdef _WIN32
|
||||
if (app_client_shm->shm != NULL)
|
||||
detach_shmem(hSharedMem, app_client_shm->shm);
|
||||
|
@ -545,7 +548,7 @@ void cleanup_shared_mem(void) {
|
|||
|
||||
int update_app_progress(double frac_done, double cpu_t, double cp_cpu_t, double ws_t) {
|
||||
char msg_buf[SHM_SEG_SIZE];
|
||||
|
||||
|
||||
sprintf( msg_buf,
|
||||
"<fraction_done>%2.8f</fraction_done>\n"
|
||||
"<current_cpu_time>%10.4f</current_cpu_time>\n"
|
||||
|
|
|
@ -20,10 +20,6 @@
|
|||
#ifndef _BOINC_API_
|
||||
#define _BOINC_API_
|
||||
|
||||
// API_STANDALONE will allow the app to function without the core client.
|
||||
// this is useful for debugging just the application
|
||||
//#define API_STANDALONE
|
||||
|
||||
#include <stdio.h>
|
||||
#ifdef HAVE_SYS_TIME_H
|
||||
#include <sys/time.h>
|
||||
|
@ -55,7 +51,7 @@ public:
|
|||
long tell() const;
|
||||
};
|
||||
|
||||
extern int boinc_init();
|
||||
extern int boinc_init(bool standalone = false);
|
||||
extern int boinc_get_init_data(APP_INIT_DATA&);
|
||||
extern int boinc_finish(int);
|
||||
extern int boinc_resolve_filename(char*, char*, int len);
|
||||
|
@ -64,6 +60,7 @@ extern int boinc_checkpoint_completed();
|
|||
extern int boinc_fraction_done(double);
|
||||
extern int boinc_child_start();
|
||||
extern int boinc_child_done(double);
|
||||
bool boinc_is_standalone();
|
||||
|
||||
/////////// API ENDS HERE - IMPLEMENTATION STUFF FOLLOWS
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@ static UINT m_uEndSSMsg;
|
|||
BOOL win_loop_done;
|
||||
|
||||
extern bool using_opengl;
|
||||
extern bool standalone;
|
||||
extern HANDLE hQuitEvent;
|
||||
|
||||
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // Declaration For WndProc
|
||||
|
@ -96,7 +97,7 @@ void SetMode(int mode) {
|
|||
while(ShowCursor(true) < 0);
|
||||
}
|
||||
|
||||
// Do not do AdjustWindowRectEx here, this will
|
||||
// Do not do AdjustWindowRectEx here, this will
|
||||
// cause the window to creep upwards
|
||||
|
||||
hWnd = CreateWindowEx(dwExStyle, "BOINC_OpenGL", "BOINC Graphics",
|
||||
|
@ -122,7 +123,7 @@ void SetMode(int mode) {
|
|||
0, // Shift Bit Ignored
|
||||
0, // No Accumulation Buffer
|
||||
0, 0, 0, 0, // Accumulation Bits Ignored
|
||||
16, // 16Bit Z-Buffer (Depth Buffer)
|
||||
16, // 16Bit Z-Buffer (Depth Buffer)
|
||||
0, // No Stencil Buffer
|
||||
0, // No Auxiliary Buffer
|
||||
PFD_MAIN_PLANE, // Main Drawing Layer
|
||||
|
@ -240,11 +241,11 @@ DWORD WINAPI win_graphics_event_loop( LPVOID gi ) {
|
|||
// Register window class and graphics mode message
|
||||
reg_win_class();
|
||||
|
||||
#ifdef API_STANDALONE
|
||||
SetMode(MODE_WINDOW);
|
||||
#else
|
||||
SetMode(MODE_HIDE_GRAPHICS);
|
||||
#endif
|
||||
if (standalone) {
|
||||
SetMode(MODE_WINDOW);
|
||||
} else {
|
||||
SetMode(MODE_HIDE_GRAPHICS);
|
||||
}
|
||||
|
||||
win_loop_done = false;
|
||||
using_opengl = true;
|
||||
|
@ -277,7 +278,7 @@ BOOL VerifyPassword(HWND hwnd)
|
|||
VerifyScreenSavePwd=
|
||||
(VERIFYSCREENSAVEPWD)GetProcAddress(hpwdcpl,"VerifyScreenSavePwd");
|
||||
if (VerifyScreenSavePwd==NULL)
|
||||
{
|
||||
{
|
||||
FreeLibrary(hpwdcpl);return TRUE;
|
||||
}
|
||||
BOOL bres=VerifyScreenSavePwd(hwnd); FreeLibrary(hpwdcpl);
|
||||
|
|
|
@ -5887,3 +5887,14 @@ Karl 2003/08/20
|
|||
fake_php.py (added)
|
||||
miniserv.pl (removed)
|
||||
testbase.py
|
||||
|
||||
Karl 2003/08/21
|
||||
- changed 'standalone' mode from a compile-time option to a run-time
|
||||
option
|
||||
- boinc_init() takes optional bool parameter which is true if
|
||||
standalone (app has to parse this from argv or however it wants)
|
||||
|
||||
api/
|
||||
boinc_api.C
|
||||
boinc_api.h
|
||||
windows_opengl.C
|
||||
|
|
Loading…
Reference in New Issue