44import  json 
55import  logging 
66import  os 
7+ import  threading 
78import  time 
89from  datetime  import  datetime 
910from  functools  import  cmp_to_key 
1011from  typing  import  List 
1112from  typing  import  Optional 
1213
1314import  requests 
14- from  readerwriterlock  import  rwlock 
1515
1616from  cryptojwt .jwk .ec  import  NIST2SEC 
1717from  cryptojwt .jwk .hmac  import  new_sym_key 
@@ -153,14 +153,6 @@ def ec_init(spec):
153153    return  _kb 
154154
155155
156- def  keys_reader (func ):
157-     def  wrapper (self , * args , ** kwargs ):
158-         with  self ._lock_reader :
159-             return  func (self , * args , ** kwargs )
160- 
161-     return  wrapper 
162- 
163- 
164156def  keys_writer (func ):
165157    def  wrapper (self , * args , ** kwargs ):
166158        with  self ._lock_writer :
@@ -246,9 +238,7 @@ def __init__(
246238        self .source  =  None 
247239        self .time_out  =  0 
248240
249-         self ._lock  =  rwlock .RWLockFairD ()
250-         self ._lock_reader  =  self ._lock .gen_rlock ()
251-         self ._lock_writer  =  self ._lock .gen_wlock ()
241+         self ._lock_writer  =  threading .Lock ()
252242
253243        if  httpc :
254244            self .httpc  =  httpc 
@@ -592,12 +582,11 @@ def get(self, typ="", only_active=True):
592582        """ 
593583        self ._uptodate ()
594584
595-         with  self ._lock_reader :
596-             if  typ :
597-                 _typs  =  [typ .lower (), typ .upper ()]
598-                 _keys  =  [k  for  k  in  self ._keys  if  k .kty  in  _typs ]
599-             else :
600-                 _keys  =  self ._keys [:]
585+         if  typ :
586+             _typs  =  [typ .lower (), typ .upper ()]
587+             _keys  =  [k  for  k  in  self ._keys [:] if  k .kty  in  _typs ]
588+         else :
589+             _keys  =  self ._keys [:]
601590
602591        if  only_active :
603592            return  [k  for  k  in  _keys  if  not  k .inactive_since ]
@@ -612,8 +601,7 @@ def keys(self, update: bool = True):
612601        """ 
613602        if  update :
614603            self ._uptodate ()
615-         with  self ._lock_reader :
616-             return  self ._keys [:]
604+         return  self ._keys [:]
617605
618606    def  active_keys (self ):
619607        """Return the set of active keys.""" 
@@ -685,7 +673,6 @@ def remove(self, key):
685673        except  ValueError :
686674            pass 
687675
688-     @keys_reader  
689676    def  __len__ (self ):
690677        """ 
691678        The number of keys. 
@@ -707,8 +694,7 @@ def get_key_with_kid(self, kid):
707694        :return: The key or None 
708695        """ 
709696        self ._uptodate ()
710-         with  self ._lock_reader :
711-             return  self ._get_key_with_kid (kid )
697+         return  self ._get_key_with_kid (kid )
712698
713699    def  _get_key_with_kid (self , kid ):
714700        for  key  in  self ._keys :
@@ -775,7 +761,6 @@ def remove_outdated(self, after, when=0):
775761    def  __contains__ (self , key ):
776762        return  key  in  self .keys ()
777763
778-     @keys_reader  
779764    def  copy (self ):
780765        """ 
781766        Make deep copy of this KeyBundle 
0 commit comments