Bug 689985 - Multi-threaded rendering fails with bmp devices (NumRenderingThreads>0)
Summary: Multi-threaded rendering fails with bmp devices (NumRenderingThreads>0)
Status: NOTIFIED FIXED
Alias: None
Product: Ghostscript
Classification: Unclassified
Component: Graphics Library (show other bugs)
Version: master
Hardware: All All
: P4 normal
Assignee: Ray Johnston
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-29 12:58 UTC by Ray Johnston
Modified: 2008-12-19 08:31 UTC (History)
0 users

See Also:
Customer:
Word Size: ---


Attachments
gxclthrd.c.diff (880 bytes, patch)
2008-07-29 13:01 UTC, Ray Johnston
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ray Johnston 2008-07-29 12:58:01 UTC
With devices that fetch data 'bottom up', there were two problems in the thread
band logic.

This caused VMerror messages and an infinite loop when it got lost.

Although I am working on other improvements for customer 531 and customer 850,
this patch will be applied as a minimal fix prior to the imminent release.
Comment 1 Ray Johnston 2008-07-29 13:01:36 UTC
Created attachment 4250 [details]
gxclthrd.c.diff

When starting from the end of the page, the first band rendered needs to be
(band_count - 1). Also the last band is band 0 so we need to start threads
when next_band >= 0 (the previous test never started band 0, causing an
infinite
loop.
Comment 2 Ralph Giles 2008-07-29 13:26:26 UTC
Ok to commit for the release.
Comment 3 Ray Johnston 2008-07-29 14:11:53 UTC
Patch committed as rev. 8906