#20022 [Sus]: OCI8 Recursive call!

From: Date: Thu, 02 Jan 2003 11:44:20 +0000
Subject: #20022 [Sus]: OCI8 Recursive call!
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-28913@lists.php.net to get a copy of this message
ID: 20022 Updated by: thies@php.net Reported By: jesper@sivertsen.org Status: Suspended Bug Type: OCI8 related Operating System: Win XP Pro SP1 PHP Version: 4.2.3 New Comment: OCI(in_call) is a thread-local variable. so it's only global the the current thread. Previous Comments: ------------------------------------------------------------------------ [2002-12-23 07:59:47] vivanov@tmsoft-ltd.kiev.ua I have same problem with "OCI8 Recursive call". This error happens when PHP works as !ISAPI module! (not CGI) under IIS. I just analyzed source and think I found where bug is. In case of ISAPI module functions of this extension (and OCI8 calls) can be called _simultaneously_ (not recursive but parallel) from different threads. conclusion: following manner of using flag 'in_call' is erroneous: ---- ext/oci8.c ----- #define CALL_OCI(call) \ { \ if (OCI(in_call)) { \ php_error(E_WARNING, "OCI8 Recursive call!\n"); \ exit(-1); \ } else { \ OCI(in_call)=1; \ call; \ OCI(in_call)=0; \ } \ } #define CALL_OCI_RETURN(retcode,call) \ // ... similar code I propose two alternatives: 1) remove away this checks 2) use some synchonization mechanizm instead >as i don't use windows myself there's >nothing i can do to.... If need, I can provide help -- P.S. sorry about poor english... My native lang. is C/C++ ;) ------------------------------------------------------------------------ [2002-10-28 08:39:42] thies@php.net as i don't use windows myself there's nothing i can do to help you. maybe try to find someone on php-db who has this setup working. ------------------------------------------------------------------------ [2002-10-28 08:17:30] jesper@sivertsen.org Works OK from commandline ! ------------------------------------------------------------------------ [2002-10-28 07:50:36] jesper@sivertsen.org I use IIS ! How do i do it from the comman-line ? Jesper ------------------------------------------------------------------------ [2002-10-28 07:47:03] thies@php.net oracle9 is fully supported. does the same happen if you use php from the command line? BTW: what webserver are you using? ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/20022 -- Edit this bug report at http://bugs.php.net/?id=20022&edit=1

« previous php.bugs (#28913) next »