diff --git a/src/server/simpleslave.c b/src/server/simpleslave.c --- a/src/server/simpleslave.c +++ b/src/server/simpleslave.c @@ -50,10 +50,6 @@ int main(int argc, char *argv[]) struct options_common *commonopts; - // struct distrenjob *myjob; /* Structure to hold data gathered from the XML file */ - - // struct remoteio *comm_slave; - /** initializations */ @@ -97,25 +93,15 @@ int main(int argc, char *argv[]) /* Get conf data */ options_init(argc, argv, &my_cfg, myopts, "slave", &commonopts); - /* Notifies the user if there no username in .conf */ if(checkUsername(username)) return 1; - if(!password) + if(!strncmp(password, "!password",10)) { fprintf(stderr, "You haven't specified a password. Please edit your distrenslave.conf file appropriately\n"); return 1; } - /* - fprintf(stderr, "Connecting to server...\n"); - if(remoteio_open(&comm_slave, commonopts->remoteio, server)) - { - fprintf(stderr, "Error connecting to server; exiting\n"); - return 1; - } -*/ - // Variables needed for main loop int jobnum = 0; int framenum = 0; @@ -127,6 +113,7 @@ int main(int argc, char *argv[]) char *urltoOutput; /* Full URL where output is posted */ char *pathtoOutput; /* Full path to the output (rendered) file */ + char *pathtoJob; /* Path to job data folder */ char *pathtoJobfile; /* Full path to the job's main file */ char *outputExt = "jpg"; /* Output Extension (e.g., JPG) */ @@ -152,7 +139,7 @@ int main(int argc, char *argv[]) fprintf(stderr, "Preparing to render frame %d in job %d\n", framenum, jobnum); - prepareJobPaths(jobnum, framenum, outputExt, datadir, &urltoTar, &pathtoTar, &pathtoJobfile, &urltoOutput, &pathtoOutput); + prepareJobPaths(jobnum, framenum, outputExt, datadir, &urltoTar, &pathtoTar, &pathtoJob, &pathtoJobfile, &urltoOutput, &pathtoOutput); // free(outputExt); int dlret = downloadTar(urltoTar, pathtoTar); if(dlret == 0) @@ -160,12 +147,17 @@ int main(int argc, char *argv[]) else if(dlret == 3) return 0; // ouput dir doesn't exist else - fprintf(stderr,"Using existing tarball...\n"); + fprintf(stderr,"Using existing tarball %s...\n", pathtoTar); - unpackJob(datadir, pathtoTar); + unpackJob(pathtoJob, pathtoTar); /* Execute blender */ fprintf(stderr,"Executing blender on file %s", pathtoJobfile); + + /* ignore return because directory may exist already */ + mkdir(pathtoOutput, 0700); + + _web_startframe(slavekey, password, jobnum, framenum); if(exec_blender(pathtoJobfile, pathtoOutput, framenum)) { fprintf(stderr,"Error running Blender. Check your installation and/or your PATH.\n");