[jToolkit-cvs] jToolkit/data PyADO.py,1.8,1.9
Brought to you by:
davidfraser,
friedelwolff
From: <dav...@us...> - 2004-02-10 09:02:36
|
Update of /cvsroot/jtoolkit/jToolkit/data In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24137 Modified Files: PyADO.py Log Message: Made sure only one thread can execute at a time, working around a threading problem in JSuiteDB Index: PyADO.py =================================================================== RCS file: /cvsroot/jtoolkit/jToolkit/data/PyADO.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** PyADO.py 9 Feb 2004 14:18:50 -0000 1.8 --- PyADO.py 10 Feb 2004 08:59:24 -0000 1.9 *************** *** 25,28 **** --- 25,31 ---- import _PyADO + from threading import Lock + executeLock = Lock() + # TODO: # -------------------------------------------------------------------- *************** *** 230,234 **** --- 233,239 ---- else: Query = operation % parameters + executeLock.acquire() self.rs.Open(operation, ActiveConnection = self.PassConn) + executeLock.release() # cache the fields. this must be done before describefields rsFields = self.rs.Fields *************** *** 343,347 **** --- 348,354 ---- rs = _PyADO.Recordset() Query = operation % parameters[rownumber] + executeLock.acquire() rs.Open(Query, ActiveConnection = self.PassConn) + executeLock.release() self.rsList.append(rs) self.rs = self.rsList[0] *************** *** 372,378 **** # if called before Execute, will fail if self.rs.State == 0: self.rs.Open() ! return self.rs.RecordCount self.rs.Close() if self.rs.State != 0: return self.rs.RecordCount --- 379,388 ---- # if called before Execute, will fail if self.rs.State == 0: + executeLock.acquire() self.rs.Open() ! executeLock.release() ! ret = self.rs.RecordCount self.rs.Close() + return ret if self.rs.State != 0: return self.rs.RecordCount |