RE: sqlbox mysql re-connection (question)

"Rene Kluwen" <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
Thanks, Martin for your insight.

First, looking at dbpool_conn_consume, I see a "bug".
In the while loop at line 216, the stop criterium is pc == NULL.
Next, on line 286, a return (pc->conn != NULL ? pc : NULL) is done.
This segfaults when the while loop hits the stop criterium in stead of being
exit with break.

Note that this doesn't happen in real because the p->pool list has at least
one producer so if the list
is empty, gwlist_consume waits until somebody produces a connection again.

Nonetheless, my real question is: Before inserting or selecting something
into or from the sql database,
a dbpool_conn_consume is done.
This should ensure, I always have a working connection, according to what
you just said.

So why doesn't it work?

Rene Kluwen
Chimit


-----Original Message-----
From: Mi Reflejo [mailto:[email protected]]
Sent: zondag 4 juni 2006 0:09
To: Rene Kluwen
Cc: [email protected]
Subject: Re: sqlbox mysql re-connection (question)


Actually dbpool_check is not used :).

Lets asume that we are using mySQL.

Before each query,  "dbpool_conn_consume" is called.

"dbpool_conn_consume" call the function: p->db_ops->check(pc->conn)
(declaration: p->db_ops = &mysql_ops; and .check = mysql_check_conn,)

Check function does a "mysql_ping" and returns 0 or -1.
If the connection is not active "dbpool_conn_consume" restarts the
connection and checks again, while the connection is down.

Hope it helps.

Martin

On 6/3/06, Rene Kluwen <[email protected]> wrote:
> I have been looking into the sources a little bit.
>
> But I cannot seem to find the spot where bearerbox reconnects to the MySQL
> daemon.
> I figure dbpool_check() should be called somewhere.
>
> Of course, I can just put a call to that function somewhere in sqlbox.
> But I would like to follow a little bit the same way as it is done
elsewhere
> in Kannel.
>
> Rene Kluwen
> Chimit
>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.