summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThies C. Arntzen <thies@php.net>2002-04-13 12:14:02 +0000
committerThies C. Arntzen <thies@php.net>2002-04-13 12:14:02 +0000
commite70afa0c54cdfb039b29eb8a5dc72b75514dd654 (patch)
tree7b2e258d9091d65d1c62e91b4a0b92ad45c2f626
parentc213d9392cd253846f22599c2d7da384da1d1339 (diff)
downloadphp-git-e70afa0c54cdfb039b29eb8a5dc72b75514dd654.tar.gz
MFH: Mixing OCIPlogon and OCINLogon no longer leak Oracle-Sessions. (thies)
to RM: this is a real fix that _should_ be in 4.2!
-rw-r--r--ext/oci8/oci8.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/ext/oci8/oci8.c b/ext/oci8/oci8.c
index 988b4bc5d5..c0eedc8393 100644
--- a/ext/oci8/oci8.c
+++ b/ext/oci8/oci8.c
@@ -2578,7 +2578,13 @@ static void oci_do_connect(INTERNAL_FUNCTION_PARAMETERS,int persistent,int exclu
goto CLEANUP;
}
- persistent = server->persistent; /* if our server-context is not persistent we can't */
+ if (exclusive) {
+ /* exlusive session can never be persistent!*/
+ persistent = 0;
+ } else {
+ /* if our server-context is not persistent we can't */
+ persistent = server->persistent;
+ }
session = _oci_open_session(server,username,password,persistent,exclusive);