Max Khizhinsky
Max Khizhinsky
Ну что ж, добро пожаловать в параллельный мир ;-) Проблемы с double free и все прочие - это одна сторона одной и той же медали. Думаю, причина только одна: двойное...
> Собственно, вопрос в чем. Система GC в libcds учитывает вхождения одного и того же указателя в список удаленных или вызовет disposer на каждый вызов retire? В данный момент просто...
По своему опыту могу сказать, что > может ли это быть проблема процессора конкретного с CAS операцией (вряд ли но все же)? можно отбросить сразу, хотя иногда и очень хочется...
> В итоге оказалось, что CAS в 463 строке, который заменяет nullptr (DUMMY) на новый элемент pNewNode работает очень выборочно: перед CAS появляются все потоки (tail на это указывают), а...
> Предыдущая проблема решилась в связи с описанным в Update: объявление и инициализация локального DUMMY = nullptr непосредственно перед CAS решила проблему. БОЛЬШОЙ ВОПРОС: каким образом изменялся DUMMY, если он...
При анализе кода бросилось в глаза следующее: ```cpp if (std::atomic_compare_exchange_strong(&pQueue.load(memory_order_relaxed)-> m_pair[idx].m_pHead.load(memory_order_relaxed), nullptr, pNewNode)) { pQueue.load(memory_order_relaxed)->m_pair[idx].m_Last = pNewNode; break; } ``` Смотрим [atomic_compare_exchange_strong](http://en.cppreference.com/w/cpp/atomic/atomic_compare_exchange): > Atomically compares the object representation of the...
> Мне кажется вы просматривается старые коммиты Я смотрю master-ветку
Hi, I never tried the library on smartphone OSes. x86, x86_64, arm64 must work with compiler if full native std::atomic supports. armv7, armv8, armv8e - I don't know, never trying...
Hi, no, libcds containers don't provide functions like `upper_bound`/`lower_bound`, only exact match is supported. In concurrent environment these functions don't make sense. For example, I found upper bound for some...
I think, you have built libcds.so/.dll with CDS_ENABLE_HPSTAT and your application - without CDS_ENABLE_HPSTAT.