diff --git a/src/server/slavefuncs.c b/src/server/slavefuncs.c --- a/src/server/slavefuncs.c +++ b/src/server/slavefuncs.c @@ -596,7 +596,7 @@ static size_t _web_writememorycallback(v } struct _web_memorystruct _web_getrequest(char *url){ - fprintf(stderr,"Preparing to get request at %s",url); + // fprintf(stderr,"Preparing to get request at %s",url); CURL *curl; CURLcode res; @@ -627,7 +627,9 @@ void _web_finishframe(int slavekey, char char *url; _distren_asprintf(&url,"http://dev.distren.org/slave/act.php?mode=finishframe&slavekey=%d&slavepass=%s&jobnum=%d&framenum=%d", slavekey, slavepass, jobnum, framenum); struct _web_memorystruct data = _web_getrequest(url); + free(url); + fprintf(stderr,"Got data: %s\n", data.memory); if(data.memory) free(data.memory); } @@ -637,9 +639,24 @@ void _web_startframe(int slavekey, char } -void _web_getwork(int slavekey, char *slavepass, int *jobnum, int *framenum){ +int _web_getwork(int slavekey, char *slavepass, int *jobnum, int *framenum){ + char *url; + _distren_asprintf(&url,"http://dev.distren.org/slave/act.php?mode=getwork&slavekey=%d&slavepass=%s", slavekey, slavepass); + 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")){ + fprintf(stderr,"*** Slave %d does not exist!\n",slavekey); + free(data.memory); + return 0; + } + else{ + *jobnum = atoi(data.memory); + *framenum = atoi(strchr(data.memory, ',') + 1); + free(data.memory); + return 1; + } } void _web_setrenderpower(int slavekey, char *slavepass, int jobnum, int framenum){