ID:               20022
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 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] [EMAIL PROTECTED]

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] [EMAIL PROTECTED]

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] [EMAIL PROTECTED]

Works OK from commandline !

------------------------------------------------------------------------

[2002-10-28 07:50:36] [EMAIL PROTECTED]

I use IIS !
How do i do it from the comman-line ?

Jesper

------------------------------------------------------------------------

[2002-10-28 07:47:03] [EMAIL PROTECTED]

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

Reply via email to