diff --git a/main.go b/main.go index ea1f5738ddf81b1125fb9e039d537c15d67c6b5f..dd51d1eae41e875fee4a5e27b553c65c26929e52 100644 --- a/main.go +++ b/main.go @@ -39,6 +39,7 @@ func processImage(config *Config, client *redis.Client, value string) { errorChannel := make(chan error) wand := imagick.NewMagickWand() + defer wand.Destroy() err := wand.ReadImage(filepath.Join(config.SourceFolder, image.Id)) if err != nil { @@ -46,6 +47,8 @@ func processImage(config *Config, client *redis.Client, value string) { } wandLinear := wand.Clone() + defer wandLinear.Destroy() + err = wandLinear.TransformImageColorspace(imagick.COLORSPACE_RGB) if err != nil { panic(err) @@ -79,9 +82,6 @@ func processImage(config *Config, client *redis.Client, value string) { Success: true, }) } - - wand.Destroy() - wandLinear.Destroy() } func main() { diff --git a/util.go b/util.go index 8a7422ce5ed225bf58918c1037880cf0ff4e70fe..dbea13873464dc1a8ad7d406b0ea81a3cad086d1 100644 --- a/util.go +++ b/util.go @@ -13,8 +13,10 @@ func resize(wand *imagick.MagickWand, wandLinear *imagick.MagickWand, size Size, if size.Width == 0 && size.Height == 0 { mw = wand.Clone() + defer mw.Destroy() } else { mw = wandLinear.Clone() + defer mw.Destroy() width := mw.GetImageWidth() height := mw.GetImageHeight() @@ -91,7 +93,5 @@ func resize(wand *imagick.MagickWand, wandLinear *imagick.MagickWand, size Size, err = mw.WriteImage(target) - mw.Destroy() - return err }