From 2fbbb7df71d6502dd229772b7ca8d577086e5349 Mon Sep 17 00:00:00 2001 From: Andrea Bastoni Date: Wed, 22 Sep 2010 13:15:14 -0400 Subject: Properly fill structure before passing pointer. --- bin/rt_launch_edfwm.c | 15 ++++++++------- bin/rtspin_edfwm.c | 18 ++++++++++-------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/bin/rt_launch_edfwm.c b/bin/rt_launch_edfwm.c index de65585..9ef3880 100644 --- a/bin/rt_launch_edfwm.c +++ b/bin/rt_launch_edfwm.c @@ -52,9 +52,6 @@ int parse_edfwm_slice(FILE *ts, int slices_no, int task_id, if (fscanf(ts, "%d %u %lf %lf %lf\n", &tid, &cpu, &deadline, &budget, &offset) != EOF) { - printf("slice(tid, cpu, d, e, ph) = (%d, %u, %lf, %lf, %lf)\n", - tid, cpu, deadline, budget, offset); - if (task_id != tid) { fprintf(stderr, "task_id %d != tid %d\n", task_id, tid); @@ -64,6 +61,9 @@ int parse_edfwm_slice(FILE *ts, int slices_no, int task_id, wm->slices[i].deadline = fms_to_ns(deadline); wm->slices[i].budget = fms_to_ns(budget); wm->slices[i].offset = fms_to_ns(offset); + printf("slice(tid, cpu, d, e, ph) = (%d, %u, %llu, %llu, %llu)\n", + tid, cpu, wm->slices[i].deadline, + wm->slices[i].budget, wm->slices[i].offset); } if (ferror(ts)) { fprintf(stderr, "Cannot read file\n"); @@ -95,17 +95,18 @@ int parse_edfwm_ts_file(FILE *ts, struct rt_task *rt) if (ret != EOF) { - printf("(tid, wcet, period, ph, cpu, slices) = " - "(%d, %.2f, %.2f, %.2f, %u, %u)\n", - task_id, fwcet, fperiod, fphase, cpu, sliceno); - rt->exec_cost = fms_to_ns(fwcet); rt->period = fms_to_ns(fperiod); rt->phase = fms_to_ns(fphase); rt->cpu = cpu; rt->cls = RT_CLASS_HARD; rt->budget_policy = PRECISE_ENFORCEMENT; + + printf("(tid, wcet, period, ph, cpu, slices) = " + "(%d, %llu, %llu, %llu, %u, %u)\n", + task_id, rt->exec_cost, rt->period, rt->phase, cpu, sliceno); if (sliceno > 0) { + memset(&rt->semi_part, 0, sizeof(struct edf_wm_params)); ret = parse_edfwm_slice(ts, sliceno, task_id, (struct edf_wm_params*) &rt->semi_part); if (ret < 0) diff --git a/bin/rtspin_edfwm.c b/bin/rtspin_edfwm.c index 9a78aa3..11216fe 100644 --- a/bin/rtspin_edfwm.c +++ b/bin/rtspin_edfwm.c @@ -149,9 +149,6 @@ int parse_edfwm_slice(FILE *ts, int slices_no, int task_id, if (fscanf(ts, "%d %u %lf %lf %lf\n", &tid, &cpu, &deadline, &budget, &offset) != EOF) { - printf("slice(tid, cpu, d, e, ph) = (%d, %u, %lf, %lf, %lf)\n", - tid, cpu, deadline, budget, offset); - if (task_id != tid) { fprintf(stderr, "task_id %d != tid %d\n", task_id, tid); @@ -161,6 +158,10 @@ int parse_edfwm_slice(FILE *ts, int slices_no, int task_id, wm->slices[i].deadline = fms_to_ns(deadline); wm->slices[i].budget = fms_to_ns(budget); wm->slices[i].offset = fms_to_ns(offset); + + printf("slice(tid, cpu, d, e, ph) = (%d, %u, %llu, %llu, %llu)\n", + tid, cpu, wm->slices[i].deadline, + wm->slices[i].budget, wm->slices[i].offset); } if (ferror(ts)) { fprintf(stderr, "Cannot read file\n"); @@ -192,17 +193,18 @@ int parse_edfwm_ts_file(FILE *ts, struct rt_task *rt) if (ret != EOF) { - printf("(tid, wcet, period, ph, cpu, slices) = " - "(%d, %.2f, %.2f, %.2f, %u, %u)\n", - task_id, fwcet, fperiod, fphase, cpu, sliceno); - rt->exec_cost = fms_to_ns(fwcet); rt->period = fms_to_ns(fperiod); rt->phase = fms_to_ns(fphase); rt->cpu = cpu; rt->cls = RT_CLASS_HARD; rt->budget_policy = PRECISE_ENFORCEMENT; + + printf("(tid, wcet, period, ph, cpu, slices) = " + "(%d, %llu, %llu, %llu, %u, %u)\n", + task_id, rt->exec_cost, rt->period, rt->phase, cpu, sliceno); if (sliceno > 0) { + memset(&rt->semi_part, 0, sizeof(struct edf_wm_params)); ret = parse_edfwm_slice(ts, sliceno, task_id, (struct edf_wm_params*) &rt->semi_part); if (ret < 0) @@ -247,7 +249,7 @@ int main(int argc, char** argv) test_loop = 1; break; case 'd': - /* manually configure delay per loop iteration + /* manually configure delay per loop iteration * unit: microseconds */ loop_length = atof(optarg) / 1000000; skip_config = 1; -- cgit v1.2.2