- Verschifft
- 12. August 2026 um 15:20 UTC
- Autor
- Kamo
- Ausschuss
- c2e8cfe
Das Unterbrechen des IDLE-Threads kann einen IDLE nicht beenden: Er ist in einer Blockierung geparkt Socket lesen, dass nur sieht die Flagge, wenn die Lektüre auf eigene Faust zurückkehrt, bis Dovecots Leerlauf Timeout später. Seine Registrierung wurde synchron fallen gelassen sowieso, so dass der nächste Abonnente eine zweite Verbindung neben dem Still-Live eröffnet zuerst, und der ableitende Thread später abgemeldet, welche Sitzung hatte ersetzt - einen dritten Start für eine Mailbox, die bereits eine hatte. Sage@KamoCRM.com erreichte fünf gleichzeitige IDLE-Verbindungen gegen Dovecot's mail_max_userip_connections=10, danach hat das Mailbox aufgehört zu antworten und die nav-Badge ungelesene Lektüre mit "[UNAVAILABLE] Maximale Anzahl von Verbindungen von user+IP übertroffen", nichts veröffentlichen. ImapIdleRegistry besitzt jetzt diesen Lebenszyklus: eine Sitzung pro Mailbox, behauptet vor der Verbindung statt aus dem Inneren der eingereichten Aufgabe; ein Abriss, dass schließt den Store aus dem Anrufer, da close() auf der Message-Cache blockieren kann sperren Sie die Leerlauf-Thread hält; und eine identitätsgeprüfte Freigabe. Die Live-Karte ist die Anzahl, so dass die Kappe hinter MAX_IDLE_CONNECTIONS nicht driften und lautlos IDLE pod-wide deaktivieren. E-MailUnreadPublisher retries eine fehlgeschlagene gelesen bis zu drei Mal. Nichts Umfragen der count und der 60er-Beobachter-Schweps überspringt absichtlich Briefkästen mit einem IDLE Zuhörer, so dass ein fallengelassener Lesen das Abzeichen bis zum nächsten Mailbox-Event veralten ließ.