[rrd-developers] Re: calling rrd_create directly in librrd.so
Tobias Oetiker
oetiker at ee.ethz.ch
Sat Jul 21 00:36:35 MEST 2001
Yesterday Ashok wrote:
|
| Hi,
|
| This happens with the first rrd_xxx call itself. I made sure that optind and opterr
| were set to zero before making this call, but it still doesn't work. The other
| solution I implemented was to fork a rrdtool process with "-" argument (so that it
| will not exit after each command, but waits for the next command) and write to the
| stdin of this process through a pipe from my application process. This works, but
| it is difficult to determine if there were any errors unless I read the stdout and
| search for the "ERROR" string.
|
| The solution with calling "rrd_xxx" functions within the librrd.so would be nice if
| it worked. The interesting thing is calling rrd_fetch_fn() directly(instead of
| rrd_fetch()) works. (which again raises the suspicion on the getopt_long() calls.)
could it be that you are not preparing the argv,arc stuff
properly?
take a look at the perl bindings, or also at rrd_tool.c
its all there
tobi
|
| Thanks.
| Ashok.
|
|
| paulw at oninit.com wrote:
|
| > Does this happen on the first rrd call or subsequent ones? If it's
| > subsquent you need to be resetting optind and opterr. I've just been
| > through this loop. The worrying thing is I've found it faster (10%)
| > to build a system call and run it than it was to link in the libraries.
| >
| > Ashok Mandala wrote:
| > >
| > > Hi,
| > >
| > > I am trying to use the "C" API for the rrd functionality to
| > > create/update rrd files. I have created the proper argument list that
| > > rrd_create expects, but I get a segmentation fault from rrd_create when
| > > I try to use it. I have stepped through the code using gdb and have
| > > followed it to the point in rrd_create.c where it calls getopt_long() -
| > > there it issues a segmentation fault when I try to step into it. I saw
| > > some code for getopt_long() definition in getopt1.c included with
| > > rrdtool - so this call should have gone to that getopt_long() and the
| > > source should have opened up. Is the call binding to the libc
| > > getopt_long() ? Has anyone faced this same problem before ?
| > >
| > > Thanks.
| > > Ashok.
| > >
| > > --
| > > Unsubscribe mailto:rrd-developers-request at list.ee.ethz.ch?subject=unsubscribe
| > > Help mailto:rrd-developers-request at list.ee.ethz.ch?subject=help
| > > Archive http://www.ee.ethz.ch/~slist/rrd-developers
| > > WebAdmin http://www.ee.ethz.ch/~slist/lsg2.cgi
| >
| > --
| > Paul Watson #
| > Oninit Ltd # You are only young once
| > Tel: +44 1436 672201 # but you can be immature
| > Fax: +44 1436 678693 # for ever
| > www.oninit.com #
| >
| > --
| > Unsubscribe mailto:rrd-developers-request at list.ee.ethz.ch?subject=unsubscribe
| > Help mailto:rrd-developers-request at list.ee.ethz.ch?subject=help
| > Archive http://www.ee.ethz.ch/~slist/rrd-developers
| > WebAdmin http://www.ee.ethz.ch/~slist/lsg2.cgi
|
|
| --
| Unsubscribe mailto:rrd-developers-request at list.ee.ethz.ch?subject=unsubscribe
| Help mailto:rrd-developers-request at list.ee.ethz.ch?subject=help
| Archive http://www.ee.ethz.ch/~slist/rrd-developers
| WebAdmin http://www.ee.ethz.ch/~slist/lsg2.cgi
|
|
--
______ __ _
/_ __/_ / / (_) Oetiker, ETZ J97, ETH, 8092 Zurich, Switzerland
/ // _ \/ _ \/ / phoneto:+41(0)1-632-5286 faxto:+41(0)1-632-1517
/_/ \.__/_.__/_/ mailto:oetiker at ee.ethz.ch http://people.ee.ethz.ch/~oetiker
--
Unsubscribe mailto:rrd-developers-request at list.ee.ethz.ch?subject=unsubscribe
Help mailto:rrd-developers-request at list.ee.ethz.ch?subject=help
Archive http://www.ee.ethz.ch/~slist/rrd-developers
WebAdmin http://www.ee.ethz.ch/~slist/lsg2.cgi
More information about the rrd-developers
mailing list