Changeset 137


Ignore:
Timestamp:
05/13/12 19:10:37 (12 years ago)
Author:
atzm
Message:
  • change lock range
File:
1 edited

Legend:

Unmodified
Added
Removed
  • etherws/trunk/etherws.py

    r136 r137  
    9898        try: 
    9999            self._clients_lock.acquire() 
     100 
    100101            clients = self._clients[:] 
     102 
     103            if caller is not self: 
     104                clients.remove(caller) 
     105                try: 
     106                    self._tap_lock.acquire() 
     107                    self._tap.write(message) 
     108                finally: 
     109                    self._tap_lock.release() 
     110 
     111            message = base64.b64encode(message) 
     112 
     113            for c in clients: 
     114                c.write_message(message) 
     115 
    101116        finally: 
    102117            self._clients_lock.release() 
    103  
    104         if caller is not self: 
    105             clients.remove(caller) 
    106             try: 
    107                 self._tap_lock.acquire() 
    108                 self._tap.write(message) 
    109             finally: 
    110                 self._tap_lock.release() 
    111  
    112         message = base64.b64encode(message) 
    113  
    114         for c in clients: 
    115             c.write_message(message) 
    116118 
    117119    def run(self): 
Note: See TracChangeset for help on using the changeset viewer.