URI: 
       tMerge branch 'master' of gitorious.org:electrum/electrum - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit af1bfa566ac86ce4e8b336694a3d256cc922c03b
   DIR parent 899f4e8c99a21b0fa0336f9405f44d49396c234e
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Mon, 14 Nov 2011 23:30:27 +0100
       
       Merge branch 'master' of gitorious.org:electrum/electrum
       
       Diffstat:
         M server/server.py                    |      37 ++++++++++++++++++++++++-------
       
       1 file changed, 29 insertions(+), 8 deletions(-)
       ---
   DIR diff --git a/server/server.py b/server/server.py
       t@@ -323,7 +323,6 @@ def client_thread(ipaddr,conn):
        
                    print time.asctime(), "session", ipaddr, session_id, addresses[0], len(addresses)
        
       -            clean_sessions()
                    sessions[session_id] = {}
                    for a in addresses:
                        sessions[session_id][a] = ''
       t@@ -353,6 +352,9 @@ def client_thread(ipaddr,conn):
                    h = store.get_txpoints( addr )
                    out = repr(h)
        
       +        elif cmd == 'load': 
       +            out = repr( len(sessions) )
       +
                elif cmd =='tx':        
                    # transaction
                    out = send_tx(data)
       t@@ -398,13 +400,15 @@ def memorypool_update(store):
        
        
        
       -def clean_sessions():
       -    t = time.time()
       -    for k,t0 in sessions_last_time.items():
       -        if t - t0 > 60:
       -            print "lost session",k
       -            sessions.pop(k)
       -            sessions_last_time.pop(k)
       +def clean_session_thread():
       +    while 1:
       +        time.sleep(30)
       +        t = time.time()
       +        for k,t0 in sessions_last_time.items():
       +            if t - t0 > 60:
       +                print "lost session",k
       +                sessions.pop(k)
       +                sessions_last_time.pop(k)
                    
        
        
       t@@ -413,6 +417,22 @@ import traceback
        
        if __name__ == '__main__':
        
       +    if len(sys.argv)>1:
       +        request = sys.argv[1]
       +        request += "#"
       +        s = socket.socket( socket.AF_INET, socket.SOCK_STREAM)
       +        s.connect(( HOST, PORT))
       +        s.send( request )
       +        out = ''
       +        while 1:
       +            msg = s.recv(1024)
       +            if msg: out += msg
       +            else: break
       +        s.close()
       +        print out
       +        sys.exit(0)
       +
       +
            print "starting Electrum server"
            conf = DataStore.CONFIG_DEFAULTS
            args, argv = readconf.parse_argv( [], conf)
       t@@ -421,6 +441,7 @@ if __name__ == '__main__':
            store = MyStore(args)
        
            thread.start_new_thread(listen_thread, (store,))
       +    thread.start_new_thread(clean_session_thread, ())
        
            while True:
                try: