Use *init* and *cleanup* in existing actors.
[8sync.git] / 8sync / systems / irc.scm
index 40d02eb6eb1a6a34c4464e43e25d7fb15c9fd9f5..e6ad361ae322cfa7bc8308629c24840f8f3b173d 100755 (executable)
   (socket #:accessor irc-bot-socket)
   (actions #:allocation #:each-subclass
            #:init-value (build-actions
-                         (init irc-bot-init)
+                         (*init* irc-bot-init)
+                         (*cleanup* irc-bot-cleanup)
                          (main-loop irc-bot-main-loop)
                          (send-line irc-bot-send-line-action))))
 
 
   (<- (actor-id irc-bot) 'main-loop))
 
+(define (irc-bot-cleanup irc-bot message)
+  (close (irc-bot-socket irc-bot)))
+
 (define (irc-bot-main-loop irc-bot message)
   (define socket (irc-bot-socket irc-bot))
   (define line (string-trim-right (read-line socket) #\return))