 |
Forums |
Admin Discussion Forums: help Start New Thread
| Message: 96983 |
 |
BY: Aaron Qian (aq1018) DATE: 2011-09-15 21:18 SUBJECT: Timouts and "executing in another thread" Hi kubo-san,
cursor.fetch inside a timeout will corrupt client state and causing all subsequent #exec calls to raise "executing in another thread".
Cause:
* Timeout causes oci8_unblock_func() to run.
* "svcctx->executing_thread = Qnil" in oci8_blocking_region() is never reached if oci8_unblock_func() is run.
* "svcctx->executing_thread" is set but not cleared in oci8_unblock_func()
How to reproduce:
see https://gist.github.com/1220485
Possible fix:
Add "svcctx->executing_thread = Qnil;" to oci8_unblock_func().
This caused the errors to disappear, however, I'm not sure if this is the correct way to address this issue.
| |
Thread View
Post a followup to this message
|
 |