68,15 → 68,25 |
{ |
|
FILE *file_event_header; |
int muxpres; |
char muxtemp[30]; |
|
file_event_header = fopen(EVENT_DEFINE,"a+"); |
if (file_event_header == NULL) return 1; |
|
fprintf(file_event_header, " {\"%s\",%d,%d,%d,%d,%d,{%d,%d},{%d,%d},%d,0,act_%s,exec_%s},\n", |
|
if (c->crit_type == PAR_CRIT) { |
muxpres = 1; |
sprintf(muxtemp,"block_%s",c->name); |
} else { |
muxpres = 0; |
sprintf(muxtemp,"NULL"); |
} |
|
fprintf(file_event_header, " {\"%s\",%d,%d,%d,%d,%d,{%d,%d},{%d,%d},%d,0,%d,%d,act_%s,exec_%s,%s},\n", |
c->name,(int)c->task_type,(int)c->server,(int)c->local_scheduler,(int)c->number,(int)c->group, |
(int)c->deadline.tv_sec, (int)c->deadline.tv_nsec, |
(int)c->wcet.tv_sec, (int)c->wcet.tv_nsec, |
(int)c->act_number, c->name, c->name); |
(int)c->act_number, (int)c->resource, muxpres, c->name, c->name, muxtemp); |
|
fclose(file_event_header); |
|
243,6 → 253,30 |
|
} |
|
int write_block_const(struct loader_task *c) |
{ |
|
FILE *file_block_header; |
int i; |
|
file_block_header = fopen(ACT_LIST,"a+"); |
if (file_block_header == NULL) return 1; |
|
fprintf(file_block_header,"struct timespec block_%s[] = {{%d,%d},\n",c->name, |
(int)c->crit_par.tv_sec,(int)c->crit_par.tv_nsec); |
|
for (i=0; i< c->act_number-1; i++) |
fprintf(file_block_header," {%d,%d},\n", |
(int)c->crit_par.tv_sec,(int)c->crit_par.tv_nsec); |
|
fprintf(file_block_header," };\n\n"); |
|
fclose(file_block_header); |
|
return 0; |
|
} |
|
int write_exec_const(struct loader_task *c) |
{ |
|
385,6 → 419,16 |
break; |
} |
|
switch (current_t->crit_type) { |
case PAR_CRIT: |
err = write_block_const(current_t); |
if (err != 0) { |
printf("Error writing block header\n"); |
exit(1); |
} |
break; |
} |
|
current_t = current_t->next; |
|
} |