In _image_exec() in image.imagemagick.inc, imagecache runs the preset commands like this:popen("start \"bla\" $cmd", "r").

As a result of using start to run this task in the background, the file_move command at imagecache.module::129 gets run before the thumbnail image gets created in the temp directory, so the full resolution image gets copied back into the /files/imagecache/presetname folder which fouls things up for good, since imagecache won't try to regenerate the image once there's a file in the preset subdirectory.

I changed that line in image.imagemagick.inc to:popen($cmd, "r"), and it seems to be working.

Is there a reason to run the conversion as a background process and if so, is there a way to wait for the command(s) to finish before copying the generated file out of the temp directory?

Comments

dopry’s picture

Project: ImageCache » ImageMagick
Version: 4.7.x-1.x-dev » 7.x-1.x-dev

reassigning to imagemagick. I think thats the right project. as far as I know imagecache only does gd.

sun’s picture

Status: Active » Closed (won't fix)

The previous ImageMagick project is discontinued and won't be developed further.

This project is going to be replaced with a generic ImageMagick image toolkit compatible with D7+, mostly derived from the ImageAPI project.

Note: If you are an ImageMagick expert, please apply as maintainer or co-maintainer in the queue. See http://drupal.org/node/363367 for details. I'm only interim maintainer to kick-start the project.