Что именно означает ошибка AddressSanitizer «Присоединение к уже присоединенному потоку, прерывание»?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Что именно означает ошибка AddressSanitizer «Присоединение к уже присоединенному потоку, прерывание»?

Сообщение Anonymous »

Я получаю сообщение об ошибке отчета AdressSantizer «Присоединение к уже присоединенному потоку,
прерывание» в моей среде (Ubuntu 24.04 LTS Linux 6.8.0-36-generic x86_64)
воспроизведение cmd: git clone https://github.com/zzachimed/duckdb.git && cd duckdb && CC=clang-18
CXX=clang++-18 GEN=ninja DISABLE_UNITY=1 make debug && cd build/debug/test &&
ASAN_OPTIONS=verbosity=1:debug=true ./unittest "Test RESET statement for ClientConfig options"

Это мой журнал ошибок:
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept '__isoc99_printf'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept '__isoc99_sprintf'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept '__isoc99_snprintf'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept '__isoc99_fprintf'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept '__isoc99_vprintf'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept '__isoc99_vsprintf'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept '__isoc99_vsnprintf'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept '__isoc99_vfprintf'
==111757==Registered root region at 0x7c498fc00f40 of size 64
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c498fc00f40 of size 64
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'pthread_mutexattr_getrobust_np'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdrmem_create'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdrstdio_create'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_short'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_u_short'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_int'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_u_int'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_long'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_u_long'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_hyper'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_u_hyper'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_longlong_t'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_u_longlong_t'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_int8_t'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_uint8_t'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_int16_t'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_uint16_t'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_int32_t'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_uint32_t'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_int64_t'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_uint64_t'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_quad_t'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_u_quad_t'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_bool'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_enum'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_char'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_u_char'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_float'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_double'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_bytes'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_string'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdrrec_create'
==111757==Registered root region at 0x7c4990200b70 of size 48
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c4990200b70 of size 48
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept 'xdr_destroy'
==111757==Registered root region at 0x7c498fc00f40 of size 64
==111757==Registered root region at 0x7c498fe007a0 of size 32
==111757==Unregistered root region at 0x7c498fc00f40 of size 64
==111757==Unregistered root region at 0x7c498fe007a0 of size 32
==111757==AddressSanitizer: failed to intercept '__cxa_rethrow_primary_exception'
==111757==AddressSanitizer: libc interceptors initialized
|| [0x10007fff8000, 0x7fffffffffff] || HighMem ||
|| [0x02008fff7000, 0x10007fff7fff] || HighShadow ||
|| [0x00008fff7000, 0x02008fff6fff] || ShadowGap ||
|| [0x00007fff8000, 0x00008fff6fff] || LowShadow ||
| [0x000000000000, 0x00007fff7fff] || LowMem ||
MemToShadow(shadow): 0x00008fff7000 0x000091ff6dff 0x004091ff6e00 0x02008fff6fff
redzone=16
max_redzone=2048
quarantine_size_mb=256M
thread_local_quarantine_size_kb=1024K
malloc_context_size=30
SHADOW_SCALE: 3
SHADOW_GRANULARITY: 8
SHADOW_OFFSET: 0x7fff8000
==111757==Installed the sigaction for signal 11
==111757==Installed the sigaction for signal 7
==111757==Installed the sigaction for signal 8
==111757==T0: FakeStack created: 0x7c498e800000 -- 0x7c498f309000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T0: stack [0x7fff4292c000,0x7fff4312c000) size 0x800000; local=0x7fff431299d4
==111757==AddressSanitizer Init done
Filters: Test RESET statement for ClientConfig options
[0/1] (0%): Test RESET statement for ClientConfig options
==111757==T2: FakeStack created: 0x7c4988200000 -- 0x7c4988d09000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T2: stack [0x7c498c001000,0x7c498c7fd480) size 0x7fc480; local=0x7c498c7fd2e4
==111757==T4: FakeStack created: 0x7c4986c00000 -- 0x7c4987709000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T4: stack [0x7c498ac01000,0x7c498b3fd480) size 0x7fc480; local=0x7c498b3fd2e4
==111757==T3: FakeStack created: 0x7c4982200000 -- 0x7c4982d09000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T9: FakeStack created: 0x7c4982e00000 -- 0x7c4983909000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T3: stack [0x7c498b601000,0x7c498bdfd480) size 0x7fc480; local=0x7c498bdfd2e4
==111757==T5: FakeStack created: 0x7c4980c00000 -- 0x7c4981709000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T5: stack [0x7c498a201000,0x7c498a9fd480) size 0x7fc480; local=0x7c498a9fd2e4
==111757==T9: stack [0x7c4986201000,0x7c49869fd480) size 0x7fc480; local=0x7c49869fd2e4
==111757==T1: FakeStack created: 0x7c497c400000 -- 0x7c497cf09000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T1: stack [0x7c498ca01000,0x7c498d1fd480) size 0x7fc480; local=0x7c498d1fd2e4
==111757==T14: FakeStack created: 0x7c497ae00000 -- 0x7c497b909000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T14: stack [0x7c4981801000,0x7c4981ffd480) size 0x7fc480; local=0x7c4981ffd2e4
==111757==T15: FakeStack created: 0x7c497a200000 -- 0x7c497ad09000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T15: stack [0x7c4980201000,0x7c49809fd480) size 0x7fc480; local=0x7c49809fd2e4
==111757==T16: FakeStack created: 0x7c4979600000 -- 0x7c497a109000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T16: stack [0x7c497f801000,0x7c497fffd480) size 0x7fc480; local=0x7c497fffd2e4
==111757==T13: FakeStack created: 0x7c4978a00000 -- 0x7c4979509000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T13: stack [0x7c4983a01000,0x7c49841fd480) size 0x7fc480; local=0x7c49841fd2e4
==111757==T19: FakeStack created: 0x7c4976800000 -- 0x7c4977309000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T19: stack [0x7c497da01000,0x7c497e1fd480) size 0x7fc480; local=0x7c497e1fd2e4
==111757==T18: FakeStack created: 0x7c4974400000 -- 0x7c4974f09000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T18: stack [0x7c497e401000,0x7c497ebfd480) size 0x7fc480; local=0x7c497ebfd2e4
==111757==T22: FakeStack created: 0x7c4972e00000 -- 0x7c4973909000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T12: FakeStack created: 0x7c4975c00000 -- 0x7c4976709000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T7: FakeStack created: 0x7c4977400000 -- 0x7c4977f09000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T20: FakeStack created: 0x7c4975000000 -- 0x7c4975b09000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T22: stack [0x7c4978001000,0x7c49787fd480) size 0x7fc480; local=0x7c49787fd2e4
==111757==T7: stack [0x7c4988e01000,0x7c49895fd480) size 0x7fc480; local=0x7c49895fd2e4
==111757==T20: stack [0x7c497d001000,0x7c497d7fd480) size 0x7fc480; local=0x7c497d7fd2e4
==111757==T12: stack [0x7c4984401000,0x7c4984bfd480) size 0x7fc480; local=0x7c4984bfd2e4
==111757==T17: FakeStack created: 0x7c4971800000 -- 0x7c4972309000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T17: stack [0x7c497ee01000,0x7c497f5fd480) size 0x7fc480; local=0x7c497f5fd2e4
==111757==T11: FakeStack created: 0x7c4970000000 -- 0x7c4970b09000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T11: stack [0x7c4984e01000,0x7c49855fd480) size 0x7fc480; local=0x7c49855fd2e4
==111757==T24: FakeStack created: 0x7c4970c00000 -- 0x7c4971709000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T24: stack [0x7c4972401000,0x7c4972bfd480) size 0x7fc480; local=0x7c4972bfd2e4
==111757==T8: FakeStack created: 0x7c496ea00000 -- 0x7c496f509000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T8: stack [0x7c4987801000,0x7c4987ffd480) size 0x7fc480; local=0x7c4987ffd2e4
==111757==T23: FakeStack created: 0x7c496de00000 -- 0x7c496e909000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T23: stack [0x7c4973a01000,0x7c49741fd480) size 0x7fc480; local=0x7c49741fd2e4
==111757==T6: FakeStack created: 0x7c496c800000 -- 0x7c496d309000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T6: stack [0x7c4989801000,0x7c4989ffd480) size 0x7fc480; local=0x7c4989ffd2e4
==111757==T21: FakeStack created: 0x7c496b000000 -- 0x7c496bb09000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T10: FakeStack created: 0x7c496bc00000 -- 0x7c496c709000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T21: stack [0x7c497ba01000,0x7c497c1fd480) size 0x7fc480; local=0x7c497c1fd2e4
==111757==T10: stack [0x7c4985801000,0x7c4985ffd480) size 0x7fc480; local=0x7c4985ffd2e4
==111757==T25: FakeStack created: 0x7c496a400000 -- 0x7c496af09000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T25: stack [0x7c496f601000,0x7c496fdfd480) size 0x7fc480; local=0x7c496fdfd2e4
==111757==T26: FakeStack created: 0x7c4968e00000 -- 0x7c4969909000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T26: stack [0x7c496d401000,0x7c496dbfd480) size 0x7fc480; local=0x7c496dbfd2e4
==111757==T27: FakeStack created: 0x7c4968200000 -- 0x7c4968d09000 stack_size_log: 20; mmapped 11300K, noreserve=0
==111757==T27: stack [0x7c4969a01000,0x7c496a1fd480) size 0x7fc480; local=0x7c496a1fd2e4
==111757==ERROR: AddressSanitizer: Joining already joined thread, aborting.

что именно означает эта ошибка? Есть ли хорошая идея определить, какое место вызывает эту ошибку?
Насколько я понимаю, это выглядит так, как будто один и тот же поток присоединился дважды. Чтобы понять
что именно означает эта ошибка, я провожу такой эксперимент: создаю
одиночный поток и пытаюсь присоединиться дважды, но просто запускаю дамп памяти без отчета об ошибках дезинфицирующего средства. Это меня сбило с толку.
Код моего эксперимента:
#include
#include
#include
std::mutex m;
int zz(int a,int b){
std::lock_guard lk(m);
auto res = abs(a+b);
std::cout

Подробнее здесь: https://stackoverflow.com/questions/786 ... aborting-e
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»