update use of GPrivate

This commit is contained in:
John Cupitt 2012-10-23 13:57:38 +01:00
parent 7e3494f6eb
commit c6478c811b
3 changed files with 10 additions and 1 deletions

View File

@ -323,6 +323,7 @@ PKG_CHECK_MODULES(THREADS, glib-2.0 >= 2.32,[
AC_DEFINE(HAVE_MUTEX_INIT,1,[define if your glib has g_mutex_init().])
AC_DEFINE(HAVE_COND_INIT,1,[define if your glib has g_cond_init().])
AC_DEFINE(HAVE_THREAD_NEW,1,[define if your glib has g_thread_new().])
AC_DEFINE(HAVE_PRIVATE_INIT,1,[define if your glib has G_PRIVATE_INIT().])
])
# check for gtk-doc

View File

@ -460,7 +460,14 @@ vips_buffer_print( VipsBuffer *buffer )
void
vips__buffer_init( void )
{
#ifdef HAVE_PRIVATE_INIT
static GPrivate private =
G_PRIVATE_INIT( (GDestroyNotify) buffer_cache_free );
thread_buffer_cache_key = &private;
#else
if( !thread_buffer_cache_key )
thread_buffer_cache_key = g_private_new(
(GDestroyNotify) buffer_cache_free );
#endif
}

View File

@ -187,7 +187,7 @@ vips_g_thread_new( const char *domain, GThreadFunc func, gpointer data )
thread = g_thread_create( func, data, TRUE, &error );
#endif
if( !thread )
if( !thread ) {
if( error ) {
vips_error( domain, "%s", error->message );
g_error_free( error );
@ -195,6 +195,7 @@ vips_g_thread_new( const char *domain, GThreadFunc func, gpointer data )
else
vips_error( domain,
"%s", _( "unable to create thread" ) );
}
return( thread );
}