#include <sys/types.h>
#include <sched.h>
#include <stdio.h>
#include <errno.h>
#include <unistd.h>

int main(int argc, char *argv[], char *envp[])
{
	pid_t pid;
	struct sched_param params;
	int rrprio;
	int policy;
	int i;
	
	if (argc < 3)
	{
		printf("\nUsage: %s rrpriority program name and arguments\n\n",argv[0]);
		return -1;
	}

	rrprio = atoi(argv[1]);
	if (rrprio == 0)
		policy = SCHED_OTHER;
	else
		policy = SCHED_RR;

	params.sched_priority = rrprio;
	if (sched_setscheduler(getpid(), policy, &params) != 0)
	{
		perror("sched_setscheduler");
		return -1;
	}

	if (execve(argv[2],argv+2,envp) == -1)
	{
		perror("execve");
		return -1;
	}
	
	return 0;
}


