diff --git a/src/server/slavefuncs.c b/src/server/slavefuncs.c --- a/src/server/slavefuncs.c +++ b/src/server/slavefuncs.c @@ -643,8 +643,6 @@ struct _web_memorystruct _web_getrequest /* we're done with libcurl, so clean it up */ curl_global_cleanup(); - if(!strncmp(chunk.memory, "ERROR", 5)) - fprintf(stderr, "Server request returned error %s!\n", chunk.memory); return chunk; // 0 is OK, 1 is 404 or other error } @@ -660,6 +658,18 @@ void _web_finishframe(int slavekey, char free(data.memory); } +void _web_resetframe(int slavekey, char *slavepass, int jobnum, int framenum){ + fprintf(stderr,"Resetting frame %d in job %d on server...",framenum,jobnum); + char *url; + _distren_asprintf(&url,"http://dev.distren.org/slave/act.php?mode=resetframe&slavekey=%d&slavepass=%s&jobnum=%d&framenum=%d", slavekey, slavepass, jobnum, framenum); + struct _web_memorystruct data = _web_getrequest(url); + free(url); + + fprintf(stderr,"%s\n", data.memory); + if(data.memory) + free(data.memory); +} + void _web_startframe(int slavekey, char *slavepass, int jobnum, int framenum){ char *url; _distren_asprintf(&url,"http://dev.distren.org/slave/act.php?mode=startframe&slavekey=%d&slavepass=%s&jobnum=%d&framenum=%d", slavekey, slavepass, jobnum, framenum); @@ -677,8 +687,11 @@ int _web_getwork(int slavekey, char *sla struct _web_memorystruct data = _web_getrequest(url); free(url); - //fprintf(stderr,"Got data for getwork: %s!\n", data.memory); - if(!strcmp(data.memory, "ERROR_BADKEY")){ + if(!data.memory || !strcmp(data.memory,",")){ + fprintf(stderr,"No work available on server!\n"); + return 0; + } + else if(!strcmp(data.memory, "ERROR_BADKEY")){ fprintf(stderr,"*** Slave %d does not exist!\n",slavekey); free(data.memory); return 0;