Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 1281 → Rev 1304

/demos/trunk/loader/generators/lparser.c
363,30 → 363,8
#ifdef PARSER_DEBUG
printf(",[%ld][%ld]",time.tv_sec,time.tv_nsec/1000);
#endif
TIMESPEC_ASSIGN(&ld->crit_par_1,&time);
TIMESPEC_ASSIGN(&ld->crit_par,&time);
} else par_error(line_num);
res = find_break(pbuf,PAR_TIME, &time, &val);
if (res == PAR_FOUND) {
#ifdef PARSER_DEBUG
printf(",[%ld][%ld]",time.tv_sec,time.tv_nsec/1000);
#endif
TIMESPEC_ASSIGN(&ld->crit_par_2,&time);
} else par_error(line_num);
res = find_break(pbuf,PAR_TIME, &time, &val);
if (res == PAR_FOUND) {
#ifdef PARSER_DEBUG
printf(",[%ld][%ld]",time.tv_sec,time.tv_nsec/1000);
#endif
TIMESPEC_ASSIGN(&ld->crit_par_3,&time);
} else par_error(line_num);
res = find_break(pbuf,PAR_TIME, &time, &val);
if (res == PAR_FOUND) {
#ifdef PARSER_DEBUG
printf(",[%ld][%ld]",time.tv_sec,time.tv_nsec/1000);
#endif
TIMESPEC_ASSIGN(&ld->crit_par_4,&time);
} else par_error(line_num);
 
}
#ifdef PARSER_DEBUG
/demos/trunk/loader/generators/event_gen.c
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;
 
}
/demos/trunk/loader/generators/lparser.h
29,10 → 29,7
 
int crit_type;
int resource;
struct timespec crit_par_1;
struct timespec crit_par_2;
struct timespec crit_par_3;
struct timespec crit_par_4;
struct timespec crit_par;
struct loader_task *next;