*** empty log message ***

svn path=/trunk/boinc/; revision=362
This commit is contained in:
David Anderson 2002-08-22 20:19:18 +00:00
parent 1bd5afc705
commit dfa44563db
7 changed files with 32 additions and 39 deletions

View File

@ -56,6 +56,10 @@ int boinc_init() {
FILE* f;
int retval;
#ifdef _WIN32
freopen(STDERR_FILE, "a", stderr);
#endif
f = fopen(INIT_DATA_FILE, "r");
if (!f) return ERR_FOPEN;
retval = parse_init_data_file(f, aid);
@ -91,7 +95,7 @@ int boinc_resolve_filename(char *virtual_name, char *physical_name) {
FILE *fp;
char buf[512];
strcpy( physical_name, virtual_name );
strcpy(physical_name, virtual_name);
// Open the file and load the first line
fp = fopen(virtual_name, "r");

View File

@ -153,13 +153,14 @@ int ACTIVE_TASK::start(bool first_time) {
//app_prefs.graphics.refresh_period = 5;
memset(&aid, 0, sizeof(aid));
// TODO: fill in the app prefs, user name, team name, etc.
aid.checkpoint_period = DEFAULT_CHECKPOINT_PERIOD;
aid.fraction_done_update_period = DEFAULT_FRACTION_DONE_UPDATE_PERIOD;
aid.wu_cpu_time = checkpoint_cpu_time;
sprintf(prefs_path, "%s/%s", dirname, INIT_DATA_FILE);
prefs_fd = fopen(prefs_path, "wb");
prefs_fd = fopen(prefs_path, "w");
if (!prefs_fd) {
if (log_flags.task_debug) {
printf("Failed to open core to app prefs file %s.\n", prefs_path);
@ -170,7 +171,7 @@ int ACTIVE_TASK::start(bool first_time) {
fclose(prefs_fd);
sprintf(init_path, "%s/%s", dirname, FD_INIT_FILE);
init_file = fopen(init_path, "wb");
init_file = fopen(init_path, "w");
if (!init_file) {
if(log_flags.task_debug) {
printf( "Failed to open init file %s.\n", init_path );
@ -292,8 +293,7 @@ int ACTIVE_TASK::start(bool first_time) {
#ifdef _WIN32
PROCESS_INFORMATION process_info;
STARTUPINFO startup_info;
//HINSTANCE inst;
char exec_path[256];
char exec_path[256];
memset( &process_info, 0, sizeof( process_info ) );
memset( &startup_info, 0, sizeof( startup_info ) );
@ -301,25 +301,23 @@ int ACTIVE_TASK::start(bool first_time) {
startup_info.lpReserved = NULL;
startup_info.lpDesktop = "";
// hook up stderr to a specially-named file (do this inside the new process)
//
//freopen(STDERR_FILE, "a", stderr);
// NOTE: in Windows, stderr is redirected within boinc_init();
// Need to condense argv into a single string
//if (log_flags.task_debug) print_argv(argv);
//
sprintf(exec_path, "%s/%s", dirname, exec_name);
if( !CreateProcess(exec_path,
if (!CreateProcess(exec_path,
wup->command_line,
NULL, // not sure about this for security
NULL, // not sure about this for security
NULL,
NULL,
FALSE,
CREATE_NEW_PROCESS_GROUP|CREATE_NO_WINDOW|NORMAL_PRIORITY_CLASS,
NULL,
dirname,
&startup_info,
&process_info )
) {
&process_info
)) {
state = GetLastError();
LPVOID lpMsgBuf;
FormatMessage(
@ -333,8 +331,7 @@ int ACTIVE_TASK::start(bool first_time) {
0,
NULL
);
fprintf(stdout, "CreateProcess: %s\n", (LPCTSTR)lpMsgBuf);
//MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );
fprintf(stdout, "CreateProcess: %s\n", (LPCTSTR)lpMsgBuf);
}
pid_handle = process_info.hProcess;

View File

@ -178,11 +178,16 @@ struct WORKUNIT {
int write(FILE*);
};
#define RESULT_NEW 0 // New result, files still need to be downloaded
#define RESULT_FILES_DOWNLOADED 1 // Files are downloaded, result can be computed
#define RESULT_COMPUTE_DONE 2 // Computation is done, files to be uploaded
#define RESULT_READY_TO_ACK 3 // Files are uploaded, notify scheduling server
#define RESULT_SERVER_ACK 4 // Received an ack from server, result is done
#define RESULT_NEW 0
// New result, files may still need to be downloaded
#define RESULT_FILES_DOWNLOADED 1
// Files are downloaded, result can be computed
#define RESULT_COMPUTE_DONE 2
// Computation is done, files need to be uploaded
#define RESULT_READY_TO_ACK 3
// Files are uploaded, notify scheduling server
#define RESULT_SERVER_ACK 4
// Received ack from server, can delete result
struct RESULT {
char name[256];

View File

@ -196,7 +196,7 @@ int file_size(char* path, int& size) {
int boinc_link(char *existing, char *new_link) {
FILE *fp;
fp = fopen(new_link, "wb");
fp = fopen(new_link, "w");
if (!fp) return ERR_FOPEN;
fprintf(fp, "<soft_link>%s</soft_link>\n", existing);
fclose(fp);

View File

@ -345,10 +345,6 @@ int HTTP_OP_SET::insert(HTTP_OP* ho) {
return 0;
}
// Runs through the set of HTTP_OP objects in the set and decides
// what operation is appropriate for each. This section needs more
// thorough documentation, as it is fairly complex
//
bool HTTP_OP_SET::poll() {
unsigned int i;
HTTP_OP* htp;
@ -554,9 +550,3 @@ int HTTP_OP_SET::remove(HTTP_OP* p) {
fprintf(stdout, "HTTP_OP_SET::remove(): not found\n");
return 1;
}
// Returns the size of the set of HTTP_OP objects
//
int HTTP_OP_SET::size() {
return http_ops.size();
}

View File

@ -81,7 +81,6 @@ public:
bool poll();
int insert(HTTP_OP*);
int remove(HTTP_OP*);
int size();
};
#define HTTP_STATE_IDLE 0

View File

@ -88,14 +88,13 @@ int NET_XFER::open_server() {
if (fd < 0) return -1;
#ifdef _WIN32
unsigned long one = 1;
ioctlsocket(fd, FIONBIO, &one);
unsigned long one = 1;
ioctlsocket(fd, FIONBIO, &one);
#else
int flags;
//ioctl(fd, FIONBIO, &one);
flags = fcntl(fd, F_GETFL, 0);
if (flags < 0) return -1;
else if( fcntl(fd, F_SETFL, flags|O_NONBLOCK) < 0 ) return -1;
else if (fcntl(fd, F_SETFL, flags|O_NONBLOCK) < 0 ) return -1;
#endif
addr.sin_family = AF_INET;
@ -123,7 +122,7 @@ int NET_XFER::open_server() {
return 0;
}
void NET_XFER::close_socket( void ) {
void NET_XFER::close_socket() {
#ifdef _WIN32
if (socket) closesocket(socket);
#else
@ -132,7 +131,6 @@ void NET_XFER::close_socket( void ) {
}
void NET_XFER::init(char* host, int p, int b) {
// net_xfer_state = ?
socket = -1;
is_connected = false;
want_download = false;
@ -161,7 +159,6 @@ int NET_XFER_SET::insert(NET_XFER* nxp) {
int NET_XFER_SET::remove(NET_XFER* nxp) {
vector<NET_XFER*>::iterator iter;
// Close the socket
nxp->close_socket();
iter = net_xfers.begin();
@ -179,6 +176,7 @@ int NET_XFER_SET::remove(NET_XFER* nxp) {
// transfer data to/from a list of active streams
// transfer at most max_bytes bytes.
// TODO: implement other bandwidth constraints (ul/dl ratio, time of day)
//
int NET_XFER_SET::poll(int max_bytes, int& bytes_transferred) {
int n, retval;