unsigned char pnd_apps_exec ( char *pndrun, char *fullpath, char *unique_id,
char *rel_exec, char *rel_startdir,
+ char *args,
unsigned int clockspeed, unsigned int options )
{
- char *argv [ 20 ];
+ char *argv [ 60 ];
+ char s_clockspeed [ 100 ];
int f;
//printf ( "Entering pnd_apps_exec\n" );
argv [ f++ ] = "-s";
argv [ f++ ] = rel_startdir;
}
+ if ( args ) {
+ argv [ f++ ] = "-a";
+ argv [ f++ ] = args;
+ }
argv [ f++ ] = "-b";
argv [ f++ ] = unique_id;
+ if ( clockspeed ) {
+ argv [ f++ ] = "-c";
+ snprintf ( s_clockspeed, 100, "%u", clockspeed );
+ argv [ f++ ] = s_clockspeed;
+ }
// skip -a (arguments) for now
// care if it crashed, was killed, was suspended, whatever.)
if ( options & PND_EXEC_OPTION_BLOCK ) {
int status = 0;
- //waitpid ( f, &status. 0 /* no options */ );
- wait ( &status );
+ waitpid ( f, &status, 0 /* no options */ );
+ //wait ( &status );
}
// printf ( "Exiting pnd_apps_exec\n" );