Umh. It is "working" identically to bearerbox.

dbpool_conn_consume is moving in connections (max-connections) until
the list is empty. At this point, gwlist_consume waits forever.

Sqlbox is doing the right things. We need to fix dbpool of kannel.

M

On 6/3/06, Rene Kluwen <[EMAIL PROTECTED]> wrote:
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
>
>
>





Reply via email to