Ajout d'un mutex pour pouvoir mettre à jour via une goroutine la liste des messages

This commit is contained in:
Laurent Ulrich
2025-08-08 10:59:51 +02:00
parent 614a6059f5
commit 9f88d84513
5 changed files with 42 additions and 31 deletions

View File

@@ -25,7 +25,10 @@ func main() {
if err != nil {
log.Fatal(err)
}
file, err := os.Open(fmt.Sprintf("%s/.config/mailblog.json", home))
configurationFileName := fmt.Sprintf("%s/.config/mailblog.json", home)
log.Println("Mailblog starting using", configurationFileName)
file, err := os.Open(configurationFileName)
if err == nil {
defer file.Close()
decoder := json.NewDecoder(file)
@@ -53,20 +56,28 @@ func main() {
}
}
var blog Blog
blog.Lang = "fr-FR"
blog.Title = configuration.Title
go MailboxFetcher(configuration, &blog)
StartServer(&blog)
}
func MailboxFetcher(configuration BlogConfiguration, blog *Blog) {
var mb MailBox
mb.Configure(&configuration.MailBox)
err = mb.Connect()
err := mb.Connect()
if err != nil {
log.Fatal(err)
}
defer mb.Close()
var blog Blog
blog.Lang = "fr-FR"
blog.Title = configuration.Title
blog.Posts, err = mb.GetMessages()
posts, err := mb.GetMessages()
if err != nil {
log.Fatal(err)
log.Println(err)
}
StartServer(&blog)
blog.mutex.Lock()
defer blog.mutex.Unlock()
blog.Posts = posts
}