# HG changeset patch # User sonam gupta - Sun Microsystems - Bangalore India # Date 1315809619 -19800 # Node ID a83040d1e4ecfbc9e391c9b1ec255ed7bf959fb8 # Parent f84d7a36b8c71940120c667c60f3e6894601ff87 7076729 [cups] gs crashed and cups scheduler goes into maintenance diff -r f84d7a36b8c7 -r a83040d1e4ec components/ghostscript/patches/12-7076729.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/ghostscript/patches/12-7076729.patch Mon Sep 12 12:10:19 2011 +0530 @@ -0,0 +1,42 @@ +--- ghostscript-9.00/base/gp_psync.c Wed Jul 28 14:52:49 2010 ++++ ghostscript-9.00/base/gp_psync.c Fri Sep 9 12:12:13 2011 +@@ -62,13 +62,18 @@ + { + pt_semaphore_t * const sem = (pt_semaphore_t *)sema; + int scode; ++ pthread_mutex_t tmp_mutex; ++ pthread_cond_t tmp_cond; + + if (!sema) + return -1; /* semaphores are not movable */ + sem->count = 0; +- scode = pthread_mutex_init(&sem->mutex, NULL); +- if (scode == 0) +- scode = pthread_cond_init(&sem->cond, NULL); ++ scode = pthread_mutex_init(&tmp_mutex, NULL); ++ memcpy(&sem->mutex, &tmp_mutex, sizeof(pthread_mutex_t)); ++ if (scode == 0) { ++ scode = pthread_cond_init(&tmp_cond, NULL); ++ memcpy(&sem->cond, &tmp_cond, sizeof(pthread_cond_t)); ++ } + return SEM_ERROR_CODE(scode); + } + +@@ -147,6 +152,7 @@ + gp_monitor_open(gp_monitor * mona) + { + pthread_mutex_t *mon; ++ pthread_mutex_t tmp_mutex; + int scode; + + if (!mona) +@@ -153,7 +159,8 @@ + return -1; /* monitors are not movable */ + mon = &((gp_pthread_recursive_t *)mona)->mutex; + ((gp_pthread_recursive_t *)mona)->self_id = 0; /* Not valid unless mutex is locked */ +- scode = pthread_mutex_init(mon, NULL); ++ scode = pthread_mutex_init(&tmp_mutex, NULL); ++ memcpy(mon, &tmp_mutex, sizeof(pthread_mutex_t)); + return SEM_ERROR_CODE(scode); + } +