Index: rmt.scm ================================================================== --- rmt.scm +++ rmt.scm @@ -45,20 +45,21 @@ (defstruct nmsg (conn #f) (hosts (make-hash-table)) pkt - (pktspec '((server (hostname . h) - (port . p) - (pid . i) - ))) + pktspec (mutex (make-mutex)) ) ;; make it a global (define *nmsg-conndat* (make-nmsg)) - +(nmsg-pktspec-set! *nmsg-conndat* + `((server (hostname . h) + (port . p) + (pid . i) + ))) ;; get a port ;; start the nmsg server ;; look for other servers ;; contact other servers and compile list of servers ;; there are two types of server @@ -83,14 +84,16 @@ (pkts:write-alist->pkt pktdir `((hostname . ,(get-host-name)) (port . ,port-num) (pid . ,(current-process-id))) - pktspec))) + pktspec: pktspec + ptype: 'server))) (nmsg-conn-set! *nmsg-conndat* nmsg-conn) (mutex-unlock! (nmsg-mutex *nmsg-conndat*)) )) + ;;====================================================================== ;; S U P P O R T F U N C T I O N S ;;====================================================================== ;; if a server is either running or in the process of starting call client:setup