Пример #1
0
 def __init__(self):
     self.m_stLock = ThreadLock.ThreadLock()
     #队头,PressMessage
     self.m_stHead = None
     #队尾
     self.m_stTail = None
     #个数
     self.m_iCount = 0
Пример #2
0
	def __init__(self):
		#前 255 个链表定时器 
		self.m_szNear     = []
		#每级 64 链表定时器,总共 4 级
		self.m_szLevel    = []
		#当前嘀嗒
		self.m_iCurTick   = 0
		#最后一次系统时间
		self.m_iLastTime  = self.GetCurTime()
		#锁
		self.m_stLock     = ThreadLock.ThreadLock() 
		#初始化
		self.Init()
		#所有结点
		self.m_hData      = {}
		#转发时下一结点
		self.m_stNextNode = None 
Пример #3
0
    def __init__(self, name, base=None):

        self.__name__=name

        # Allocate locks:
        l=ThreadLock.allocate_lock()
        self._lock_acquire=l.acquire
        self._lock_release=l.release
        l=bpthread.allocate_lock()
        self._commit_lock_acquire=l.acquire
        self._commit_lock_release=l.release

        t=time.time()
        t=self._ts=apply(TimeStamp,(time.gmtime(t)[:5]+(t%60,)))
        self._serial=`t`
        if base is None:
            self._oid='\0\0\0\0\0\0\0\0'
        else:
            self._oid=base._oid
Пример #4
0
# FOR A PARTICULAR PURPOSE
#
##############################################################################
database_type='Gadfly'
__doc__='''%s Database Connection

$Id: DA.py,v 1.15 2002/08/14 22:25:17 mj Exp $''' % database_type
__version__='$Revision: 1.15 $'[11:-2]

from db import DB, manage_DataSources
import sys, DABase, Globals
import Shared.DC.ZRDB.Connection, ThreadLock
_Connection=Shared.DC.ZRDB.Connection.Connection

_connections={}
_connections_lock=ThreadLock.allocate_lock()

data_sources=manage_DataSources

addConnectionForm=Globals.HTMLFile('dtml/connectionAdd',globals())
def manage_addZGadflyConnection(
    self, id, title, connection, check=None, REQUEST=None):
    """Add a DB connection to a folder"""

    # Note - type checking is taken care of by _setObject
    # and the Connection object constructor.
    self._setObject(id, Connection(
        id, title, connection, check))
    if REQUEST is not None: return self.manage_main(self,REQUEST)

class Connection(DABase.Connection):
Пример #5
0
# Copyright (c) 2002 Zope Corporation and Contributors. All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE
#
##############################################################################

import TM, ThreadLock
from TM import Surrogate
import transaction

thunk_lock = ThreadLock.allocate_lock()


class THUNKED_TM(TM.TM):
    """A big heavy hammer for handling non-thread safe DAs
    """
    def _register(self):
        if not self._registered:
            thunk_lock.acquire()
            try:
                transaction.get().register(Surrogate(self))
                self._begin()
            except:
                thunk_lock.release()
                raise
            else:
Пример #6
0
##############################################################################
database_type = 'Gadfly'
__doc__ = '''%s Database Connection

$Id$''' % database_type
__version__ = '$Revision: 1.16 $'[11:-2]

from db import DB, manage_DataSources
import sys, DABase, Globals
import Shared.DC.ZRDB.Connection, ThreadLock
from zExceptions import BadRequest

_Connection = Shared.DC.ZRDB.Connection.Connection

_connections = {}
_connections_lock = ThreadLock.allocate_lock()

data_sources = manage_DataSources

addConnectionForm = Globals.HTMLFile('dtml/connectionAdd', globals())


def manage_addZGadflyConnection(self,
                                id,
                                title,
                                connection,
                                check=None,
                                REQUEST=None):
    """Add a DB connection to a folder"""

    # Note - type checking is taken care of by _setObject
Пример #7
0
# Copyright (c) 2002 Zope Corporation and Contributors. All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE
#
##############################################################################

import TM, ThreadLock
from TM import Surrogate
import transaction

thunk_lock=ThreadLock.allocate_lock()

class THUNKED_TM(TM.TM):
    """A big heavy hammer for handling non-thread safe DAs
    """

    def _register(self):
        if not self._registered:
            thunk_lock.acquire()
            try:
                transaction.get().register(Surrogate(self))
                self._begin()
            except:
                thunk_lock.release()
                raise
            else:
Пример #8
0
 def __init__(self,*args,**kw):
     self.count=0
     if with_lock:
         self.lock=lock=ThreadLock.allocate_lock()
         self.__call_method__=lock.guarded_apply