Распараллельте, к которому ранее соединили или отсоединился, соединен или отсоединен снова
Этот дефект происходит когда:
Вы пытаетесь соединить поток, к которому ранее соединили или отсоединили.
Вы пытаетесь отсоединить поток, к которому ранее соединили или отсоединили.
Панель Result Details описывает, соединили ли к потоку ранее или отсоединили и также показывает предыдущие связанные события.
Например, поток, к которому соединяют с thrd_join
затем отсоединяется с thrd_detach
:
thrd_t id; ... thrd_join(id, NULL); thrd_detach(id);
Обратите внимание на то, что поток рассматривается, как соединено, только если присоединение предыдущего сообщения успешно. Например, поток не рассматривается, как присоединяется if
перейдите здесь:
thrd_t t; ... if (thrd_success != thrd_join(t, 0)) { /* Thread not considered joined */ }
thrd_current()
функция.Стандарт C11 (пункты 7.26.5.3 и 7.26.5.6) утверждает, что к потоку нельзя соединить или отсоединить, если к этому ранее соединили или отсоединили. Нарушение этих пунктов стандарта приводит к неопределенному поведению.
Постарайтесь не соединять поток, к которому уже соединили или отсоединился ранее. Постарайтесь не отсоединять поток, к которому уже соединили или отсоединили.
Группа: параллелизм |
Язык: C |
Значение по умолчанию: Off |
Синтаксис командной строки:
DOUBLE_JOIN_OR_DETACH |
Удар: носитель |