116 lines
2.9 KiB
Plaintext
116 lines
2.9 KiB
Plaintext
# an unlocked FALSE/TRUE assignment, which is fine
|
|
race:vips_region_prepare_to
|
|
race:render_kill
|
|
race:render_reschedule
|
|
|
|
# an unlocked NULL assignment, which is fine
|
|
race:render_thread
|
|
|
|
# unlocked read of pixels-processed-so-far, which is fine
|
|
race:vips_sink_base_progress
|
|
race:wbuffer_allocate_fn
|
|
race:sink_memory_area_allocate_fn
|
|
|
|
# use of *stop from generate funcs is unlocked, but fine
|
|
race:vips_threadpool_run
|
|
|
|
# guarded with vips_tracked_mutex, so it should be fine
|
|
race:vips_tracked_mem
|
|
race:vips_tracked_allocs
|
|
race:vips_tracked_files
|
|
|
|
# guarded with task->allocate_lock, so it should be fine
|
|
race:vips_thread_allocate
|
|
race:vips_task_work_unit
|
|
|
|
# guarded with vips_cache_lock, so it should be fine
|
|
race:vips_cache_table
|
|
race:vips_cache_drop_all
|
|
race:vips_cache_get_first
|
|
race:vips_cache_get_lru_cb
|
|
race:vips_cache_remove
|
|
|
|
# guarded with vips__global_lock, so it should be fine
|
|
race:vips_error_freeze_count
|
|
race:vips__link_make
|
|
race:vips__link_map
|
|
race:vips__link_break_all
|
|
race:tile_name
|
|
|
|
# the double-buffered output and write-behind thread are non-racy
|
|
race:wbuffer_new
|
|
race:wbuffer_write
|
|
race:wbuffer_work_fn
|
|
race:wbuffer_free
|
|
race:write_thread_state_new
|
|
|
|
# thread-local variables (i.e. GPrivate) are harmless
|
|
race:vips_thread_profile_key
|
|
race:buffer_thread_key
|
|
|
|
# glib signals are probably non-racy
|
|
race:vips_image_preeval
|
|
race:vips_image_eval
|
|
race:vips_image_posteval
|
|
race:vips_image_written
|
|
race:vips_image_real_written
|
|
race:vips_image_save_cb
|
|
race:render_close_cb
|
|
race:readjpeg_close_cb
|
|
|
|
# semaphores are probably non-racy
|
|
race:vips_semaphore_*
|
|
|
|
# guarded with sink->sslock, so it should be fine
|
|
race:sink_call_start
|
|
race:sink_call_stop
|
|
race:vips_hist_find_start
|
|
race:vips_hist_find_stop
|
|
race:vips_statistic_scan_start
|
|
race:vips_statistic_scan_stop
|
|
race:vips_max_stop
|
|
race:vips_values_add
|
|
race:vips_deviate_stop
|
|
race:vips_arithmetic_start
|
|
race:histogram_new
|
|
|
|
# per-thread state allocate/dispose functions are non-racy
|
|
race:sink_thread_state_class_init
|
|
race:vips_thread_state_init
|
|
race:vips_thread_state_build
|
|
race:vips_thread_state_set
|
|
race:vips_thread_state_dispose
|
|
race:write_thread_state_new
|
|
race:vips_sink_base_init
|
|
race:vips_sink_thread_state_new
|
|
race:sink_memory_init
|
|
race:sink_memory_thread_state_new
|
|
race:sink_memory_free
|
|
race:sink_thread_state_build
|
|
race:sink_thread_state_dispose
|
|
race:buffer_cache_free
|
|
race:sink_init
|
|
race:sink_free
|
|
race:vips_sequential_dispose
|
|
race:vips_block_cache_dispose
|
|
race:vips_image_init
|
|
race:vips_image_build
|
|
race:vips_image_finalize
|
|
race:vips_image_dispose
|
|
|
|
# guarded with image->sslock, so it should be fine
|
|
race:vips__region_start
|
|
race:vips__region_stop
|
|
race:vips_region_dispose
|
|
race:vips__region_take_ownership
|
|
|
|
# is fine now, see: https://github.com/libvips/libvips/pull/1211
|
|
race:vips_image_temp_name
|
|
|
|
# is fine now, see: https://github.com/libvips/libvips/pull/1483
|
|
race:meta_new
|
|
race:meta_cp
|
|
race:vips_image_set
|
|
race:vips__image_copy_fields_array
|
|
race:vips__image_meta_copy
|