- bug fix in coc_server.c
- bug fixes in tecs - new system to determine host:port in six and tecs_client
This commit is contained in:
@@ -19,16 +19,16 @@ typedef struct {
|
||||
int reset;
|
||||
} Summary;
|
||||
|
||||
typedef struct _Run {
|
||||
struct _Run *next;
|
||||
typedef struct Run {
|
||||
struct Run *next;
|
||||
int size, step;
|
||||
int startTime, endTime;
|
||||
float data[RUN_SIZE];
|
||||
} Run;
|
||||
|
||||
typedef struct _Set {
|
||||
typedef struct Set {
|
||||
DataSet set;
|
||||
struct _Set *next;
|
||||
struct Set *next;
|
||||
int nRuns;
|
||||
int step, lifetime;
|
||||
int start, end;
|
||||
@@ -113,7 +113,7 @@ Set *FindSet(Base *base, char *name) {
|
||||
Set *CreateSet(Base *base, char *name, float *var, int step, int lifetime, int start) {
|
||||
Set *s;
|
||||
char *nam;
|
||||
|
||||
|
||||
s = FindSet(base, name);
|
||||
if (s != NULL) ERR_MSG("dataset exists");
|
||||
NEW(s, Set);
|
||||
@@ -127,7 +127,7 @@ Set *CreateSet(Base *base, char *name, float *var, int step, int lifetime, int s
|
||||
s->start = start;
|
||||
s->step = step;
|
||||
s->var = var;
|
||||
s->log = LoggerMake(name, step, 0);
|
||||
s->log = NULL;
|
||||
ResetSum(&s->sum);
|
||||
return s;
|
||||
OnError:
|
||||
@@ -268,9 +268,11 @@ int DataPut(DataSet *set, int time, float value) {
|
||||
return Put((Set *)set, time, value);
|
||||
}
|
||||
|
||||
int DataPutAll(DataBase *base, int time) {
|
||||
int DataPutAll(DataBase *base, int mytime) {
|
||||
Set *s;
|
||||
char value[32];
|
||||
char tname[32];
|
||||
static time_t lastOpen = 0;
|
||||
|
||||
if (base == NULL) {
|
||||
s=database.head;
|
||||
@@ -279,14 +281,22 @@ int DataPutAll(DataBase *base, int time) {
|
||||
}
|
||||
while (s!=NULL) {
|
||||
if (s->var!=NULL) {
|
||||
ERR_I(Put(s, time, *s->var));
|
||||
ERR_I(Put(s, mytime, *s->var));
|
||||
if (s->log == NULL && *s->var != DATA_UNDEF && time(NULL) > lastOpen + 300) {
|
||||
/* try to make logger if not yet tried in the last 5 min. */
|
||||
snprintf(tname, sizeof tname, "tt.%s", s->set.name);
|
||||
s->log = LoggerMake(tname, s->step, 0);
|
||||
if (s->log == NULL) {
|
||||
lastOpen = time(NULL);
|
||||
}
|
||||
}
|
||||
if (s->log != NULL) {
|
||||
if (*s->var == DATA_UNDEF) {
|
||||
value[0]='\0';
|
||||
} else {
|
||||
snprintf(value, sizeof value, "%.5g", *s->var);
|
||||
}
|
||||
LoggerWrite(s->log, mycUnixTime(time), s->step, value);
|
||||
LoggerWrite(s->log, mycUnixTime(mytime), s->step, value);
|
||||
}
|
||||
}
|
||||
s=s->next;
|
||||
|
||||
Reference in New Issue
Block a user