# Suppression file for memory leaks
# found by AddressSanitizer (ASAN)
#
leak:_flush_send_queue_CT
leak:qd_dispatch_configure_connector
leak:parse_failover_property_list
leak:load_server_config
leak:qd_message_receive
leak:qd_policy_c_counts_alloc
leak:qd_policy_open_fetch_settings
leak:qdr_error_description

# DISPATCH-1844 - shutdown leak
leak:sys_mutex

# expected, not a bug:
#
leak:qdr_core_subscribe

# Ubuntu 16.04 (Xenial)
#
leak:_ctypes_alloc_format_string
leak:__strdup

####
#### Miscellaneous 3rd party libraries, test code, etc:
####

leak:*libpython*
leak:*libwebsockets*
leak:*python2*

# We should be able to uncomment these once all known dispatch leaks have been fixed
leak:*libqpid-proton*

# Ignore test code
leak:run_unit_tests.c
