Ajout d'un mutex pour pouvoir mettre à jour via une goroutine la liste des messages
This commit is contained in:
27
mailblog.go
27
mailblog.go
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user