X-Git-Url: https://git.realraum.at/?p=svn42.git;a=blobdiff_plain;f=go%2Fr3-netstatus%2Fr3xmppbot%2Fr3xmppbot.go;fp=go%2Fr3-netstatus%2Fr3xmppbot%2Fr3xmppbot.go;h=e2c4588c53f390978393becab0f8e76ed55f6432;hp=141e5418272d4ecc00b1b46463b935b8809f7733;hb=69489156ce4eb5fac36d965a2f851ad764f58e64;hpb=9ecce64a6cab6656eb5701ac48d03145a24ab5b4 diff --git a/go/r3-netstatus/r3xmppbot/r3xmppbot.go b/go/r3-netstatus/r3xmppbot/r3xmppbot.go index 141e541..e2c4588 100644 --- a/go/r3-netstatus/r3xmppbot/r3xmppbot.go +++ b/go/r3-netstatus/r3xmppbot/r3xmppbot.go @@ -185,12 +185,14 @@ func (botdata *XmppBot) handleEventsforXMPP(xmppout chan <- xmpp.Stanza, presenc defer func() { if x := recover(); x != nil { Syslog_.Printf("handleEventsforXMPP: run time panic: %v", x) + //FIXME: signal that xmpp bot has crashed } }() for { select { - case pe := <-presence_events: + case pe, pe_still_open := <-presence_events: + if ! pe_still_open { break } Debug_.Printf("handleEventsforXMPP<-presence_events: %T %+v", pe, pe) switch pec := pe.(type) { case xmpp.Stanza: @@ -219,7 +221,8 @@ func (botdata *XmppBot) handleEventsforXMPP(xmppout chan <- xmpp.Stanza, presenc break } - case je := <-jabber_events: + case je, je_still_open := <-jabber_events: + if ! je_still_open { break } Debug_.Printf("handleEventsforXMPP<-jabber_events: %T %+v", je, je) simple_jid := removeJIDResource(je.JID) jid_data, jid_in_map := botdata.realraum_jids_[simple_jid]