From: hadaq Date: Wed, 28 May 2008 14:56:16 +0000 (+0000) Subject: New function: Worker_setStatistic. Sets a value for already existing statistic. Serge... X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=e2d2c7247d706c20b846da22abb3187b097e3d0f;p=daqdata.git New function: Worker_setStatistic. Sets a value for already existing statistic. Sergey Yurevich. --- diff --git a/hadaq/worker.c b/hadaq/worker.c index c7ad44d..735a4e0 100644 --- a/hadaq/worker.c +++ b/hadaq/worker.c @@ -1,4 +1,4 @@ -static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/worker.c,v 6.29 2007-04-14 21:49:37 hadaq Exp $"; +static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/worker.c,v 6.30 2008-05-28 14:56:16 hadaq Exp $"; #define WORKER_NEW_PROTOCOL @@ -410,3 +410,25 @@ int Worker_getStatistic(const char *name, const char *stat, unsigned long int *v } return retVal; } + +int Worker_setStatistic(const char *name, const char *stat, unsigned long int *value) +{ + int retVal = -1; + int i; + Worker myS, *my = &myS; + strcpy(my->name, name); + + if (-1 == openStatShm(my)) { + *value = 0; + } else { + for (i = 0; i < WORKER_MAX_NUM_STATS && strcmp(my->statistics[i].name, "") != 0; i++) { + if (strcasecmp(stat, my->statistics[i].name) == 0) { + my->statistics[i].value = *value; + retVal = 0; + i = WORKER_MAX_NUM_STATS; + } + } + closeStatShm(my); + } + return retVal; +} diff --git a/hadaq/worker.h b/hadaq/worker.h index 29625a6..161d9a7 100644 --- a/hadaq/worker.h +++ b/hadaq/worker.h @@ -45,5 +45,6 @@ void Worker_fini(Worker *my); unsigned long *Worker_addStatistic(Worker *my, const char *name); void Worker_dump(Worker *my, time_t interval); int Worker_getStatistic(const char *name, const char *stat, unsigned long int *value); +int Worker_setStatistic(const char *name, const char *stat, unsigned long int *value); #endif