summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vrhel <michael.vrhel@artifex.com>2010-05-19 22:19:21 +0000
committerMichael Vrhel <michael.vrhel@artifex.com>2010-05-19 22:19:21 +0000
commit8a138e4f660ab3cb3698f0fa5213e6427c0e433d (patch)
tree36e9ee46e0b0ab058e77b52f14326f6762cfc289
parent326ff28aa53c753fef3c788e19401fb87befe95e (diff)
In multi-threaded clist rendering the profiles and buffer data should be allocated in the individual thread memory. Unlike the links, these are not shared amongst the threads.
git-svn-id: http://svn.ghostscript.com/ghostscript/branches/icc_work@11284 a1074d23-0009-0410-80fe-cf8c14f379e6
-rw-r--r--gs/base/gsicccache.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gs/base/gsicccache.c b/gs/base/gsicccache.c
index c659e6066..54c451813 100644
--- a/gs/base/gsicccache.c
+++ b/gs/base/gsicccache.c
@@ -514,9 +514,11 @@ gsicc_get_link_profile(gs_imager_state *pis, cmm_profile_t *gs_input_profile,
/* See if we have a clist device pointer. */
if ( gs_input_profile->dev != NULL ) {
/* ICC profile should be in clist. This is
- the first call to it. */
+ the first call to it. Note that the profiles are not
+ really shared amongst threads like the links are. Hence
+ the memory is for the local thread's chunk */
cms_input_profile =
- gsicc_get_profile_handle_clist(gs_input_profile, cache_mem);
+ gsicc_get_profile_handle_clist(gs_input_profile, memory);
gs_input_profile->profile_handle = cms_input_profile;
} else {
/* Cant create the link. No profile present,