Size: a a a

2019 May 17

AE

Andrey Elsukov in freebsd_ru
ты единственный :)
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
если прав -- ну попробую у нас написать, не уверен что у illumos есть подходящий список
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
ну семантика мутексов от того zfs или нет не менятся
источник

AE

Andrey Elsukov in freebsd_ru
мьютексы простые как три копейки, но как они используются в коде - это надо представлять всю картину и читать код
источник

AE

Andrey Elsukov in freebsd_ru
никто тут этим кроме тебя не занимается
источник

AF

Andrey F in freebsd_ru
у них там вроде типа тикетницы, наполовину закрытой, вроде одна из причин как раз ухода к ZoL, ну а так, да крайне странное место для такого набросы
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
mutex_enter(&t->zthr_lock);
       while (!t->zthr_cancel) {
       }
       mutex_exit(&t->zthr_lock);

int
zthr_cancel(zthr_t *t)
{
       int rc = 0;

       mutex_enter(&t->zthr_lock);

       /* broadcast in case the zthr is sleeping */
       cv_broadcast(&t->zthr_cv);

       t->zthr_cancel = B_TRUE;
       while (t->zthr_thread != NULL)
               cv_wait(&t->zthr_cv, &t->zthr_lock);
       t->zthr_cancel = B_FALSE;
       rc = t->zthr_rc;
       mutex_exit(&t->zthr_lock);

       return (rc);
}
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
вот весь код. мне почему-то кажется что с таким кодом будет висеть. или в cv_wait(&t->zthr_cv, &t->zthr_lock); лок освобождается?
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
до наброса тут далеко. я повторюсь -- может я тупой или глаз замылен.
источник

LS

Lev Serebryakov in freebsd_ru
Vyacheslav Olkhovchenkov
вот весь код. мне почему-то кажется что с таким кодом будет висеть. или в cv_wait(&t->zthr_cv, &t->zthr_lock); лок освобождается?
смысл кондвара в том, что на время сна лок снимается а при просыпании атомарно берётся назад
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
ну вот, а у меня глаз замылился. не заметил сразу
источник

VG

Vadim Goncharov in freebsd_ru
Lev Serebryakov
Потому что я лох и не умею в vim + ctags, да
так загрузи в IDE :)
источник

LS

Lev Serebryakov in freebsd_ru
Vadim Goncharov
так загрузи в IDE :)
Я пытался в CLion, он помер
источник

LS

Lev Serebryakov in freebsd_ru
Eclipse я так ни разу и не смог нормально запустить, это какая-то адовая помойка
источник

VG

Vadim Goncharov in freebsd_ru
так идея же, говоришь?
источник

LS

Lev Serebryakov in freebsd_ru
Vadim Goncharov
так идея же, говоришь?
IDEA для C/C++ называется CLion, и он пока кривой и косой, увы.
источник

VG

Vadim Goncharov in freebsd_ru
java is so java :)
источник

LS

Lev Serebryakov in freebsd_ru
Ему cmake проект подавай, такое
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
погоди, а что у жетбрэйнс нет IDE для плюсов?
источник

VO

Vyacheslav Olkhovchenkov in freebsd_ru
или это она и есть но не работает? надо будет потроллить на очередной сходке, что ли
источник