Re: [PHP4BETA] cvs: /php4/ext/odbc php_odbc.h php_odbc.c
| From: | Leo Baschy | Date: | Sun, 12 Mar 2000 13:06:58 +0000 |
| Subject: | Re: [PHP4BETA] cvs: /php4/ext/odbc php_odbc.h php_odbc.c | ||
| References: | 1 | Groups: | php.version4 |
| Request: | Send a blank email to php-version4+get-11934@lists.php.net to get a copy of this message | ||
Andreas,
>Please revert your patch.
Did.
>Result/connection cleanup is handled via Zend's reference mechanism.
Does _not_ work correctly. Same crashes as in the past, despite your claim.
I removed my code that freed results when connections got closed, and I am back to crashes in most
of my PHP scripts (except a few).
I had no crashes with that code in.
Now I have to call odbc_free_result() everywhere. What will happen if there is an unexpected or
overlooked exit that doesn't call it...
Therefore I ask: What was your problem with my code that freed results when connections got closed?
Sure, it was not ideal because it freed only one result, but how do you get more than one anyway...
ODBC would complain it is still processing the previous one. So what I'm saying is that my
code prevented a lot of obnoxious small problems that would cause complete crashes.
Is there anything that you see that it would break?
Whatever you're doing right now does not correctly handle closing a connection when a result
has not been freed. At least on NT 4.0 as cgi exe with Apache, but I don't think it is a
specific Win32 problem.
The close connection with a result still around can happen easily. To be disciplined is good, but
it is unnecessary hard on people and creates unnecessary instability.
If result/connection cleanup were handled via Zend's reference mechanism that would be nice,
but it doesn't work correctly right now. It would take me a while to fully understand that
part. I can do so, have understood more complex things, but it is a question of time. Just spent
too much time with sources of PHP3, only started working with PHP4 recently.
Do you want yourself to look into why it doesn't work, or do you want to give me a hint where
to look, etc?
Hope nothing I wrote sounds upset. Just trying to get this done so it works well.
- Leo Baschy <nirvana@got.net>