Bug 689985

Summary: Multi-threaded rendering fails with bmp devices (NumRenderingThreads>0)
Product: Ghostscript Reporter: Ray Johnston <ray.johnston>
Component: Graphics LibraryAssignee: Ray Johnston <ray.johnston>
Status: NOTIFIED FIXED    
Severity: normal    
Priority: P4    
Version: master   
Hardware: All   
OS: All   
Customer: Word Size: ---
Attachments: gxclthrd.c.diff

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