From 70427f6589c75d2cff7983f93d58a9728d6eebf2 Mon Sep 17 00:00:00 2001 From: "Bjoern B. Brandenburg" Date: Tue, 19 Feb 2008 15:51:14 -0500 Subject: add release_ts utility --- Makefile | 5 ++++- bin/release_ts.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 bin/release_ts.c diff --git a/Makefile b/Makefile index 8ac8f38..fe850a7 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ LIBS= ./liblitmus.a LIB_OBJ= litmus.o syscalls.o sched_trace.o task.o kernel_iface.o TARGETS = run rt_launch liblitmus.a \ - wait_test np_test stdump mode_test base_task base_mt_task + wait_test np_test stdump mode_test base_task base_mt_task release_ts vpath %.h include/ vpath %.c src/ bin/ @@ -40,6 +40,9 @@ run: run.o ${LIBS} rt_launch: liblitmus.a litmus.h rt_launch.o cc -static -o rt_launch rt_launch.o ${LIBS} +release_ts: liblitmus.a litmus.h release_ts.o + cc -static -o release_ts release_ts.o ${LIBS} + stdump: liblitmus.a litmus.h sched_trace.h stdump.o cc -o stdump stdump.o ${LIBS} diff --git a/bin/release_ts.c b/bin/release_ts.c new file mode 100644 index 0000000..4d4c9e8 --- /dev/null +++ b/bin/release_ts.c @@ -0,0 +1,50 @@ +#include +#include +#include + +#include "litmus.h" + +#define OPTSTR "d:" +#define NS_PER_MS 1000000 + +void usage(char *error) { + fprintf(stderr, + "%s\n" + "Usage: release_ts [-d ]\n", + error); + exit(1); +} + + +int main(int argc, char** argv) +{ + int released; + lt_t delay = ms2lt(1000); + int opt; + + while ((opt = getopt(argc, argv, OPTSTR)) != -1) { + switch (opt) { + case 'd': + delay = ms2lt(atoi(optarg)); + break; + case ':': + usage("Argument missing."); + break; + case '?': + default: + usage("Bad argument."); + break; + } + } + + released = release_ts(&delay); + if (released < 0) { + perror("release task system"); + exit(1); + } + + printf("Released %d real-time tasks.\n", released); + + return 0; +} + -- cgit v1.2.2