[unixODBC-support] locking issue
nick.gorham at easysoft.com
Fri Dec 21 10:45:32 GMT 2007
Chauhan Bhavik-A20762 wrote:
>odbcinst.ini doesn't have "Threading=0" , what is the default behaviour?
>While the process was bloking, I tried with isql with the same
>datasource and it does able to connect and execute some select queries.
* use just one mutex for all the lists, this avoids any issues
* with deadlocks, the performance issue should be minimal, if it
* turns out to be a problem, we can readdress this
* We also have a mutex to protect the connection pooling code
* If compiled with thread support the DM allows four different
* thread strategies
* Level 0 - Only the DM internal structures are protected
* the driver is assumed to take care of it's self
* Level 1 - The driver is protected down to the statement level
* each statement will be protected, and the same for the connect
* level for connect functions, note that descriptors are considered
* equal to statements when it comes to thread protection.
* Level 2 - The driver is protected at the connection level. only
* one thread can be in a particular driver at one time
* Level 3 - The driver is protected at the env level, only one thing
* at a time.
* By default the driver open connections with a lock level of 3,
* this can be changed by adding the line
* Threading = N
* to the driver entry in odbcinst.ini, where N is the locking level
More information about the unixODBC-support