diff --git a/main.go b/main.go index 9a08468d56820c21c36350fec3fd1e9db2897d12..02d5993b70e61b7632cdc3b7f58cf744f6e8ace6 100644 --- a/main.go +++ b/main.go @@ -39,7 +39,6 @@ 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 { @@ -47,7 +46,6 @@ func processImage(config *Config, client *redis.Client, value string) { } wandLinear := wand.Clone() - defer wand.Clear() err = wandLinear.TransformImageColorspace(imagick.COLORSPACE_RGB) if err != nil { panic(err) @@ -81,6 +79,9 @@ func processImage(config *Config, client *redis.Client, value string) { Success: true, }) } + + wand.Clear() + wandLinear.Clear() } func main() { diff --git a/util.go b/util.go index 0815c404cd7b698ce6de8810eb7a94d69522248e..154dc8b949f7e6cea3fc40ea9b42c12d47e0857a 100644 --- a/util.go +++ b/util.go @@ -10,7 +10,6 @@ import ( func resize(wand *imagick.MagickWand, wandLinear *imagick.MagickWand, size Size, quality Quality, target string) error { var err error var mw *imagick.MagickWand - defer mw.Clear() if size.Width == 0 && size.Height == 0 { mw = wand.Clone() @@ -91,5 +90,8 @@ func resize(wand *imagick.MagickWand, wandLinear *imagick.MagickWand, size Size, mw.StripImage() err = mw.WriteImage(target) + + mw.Clear() + return err }