Size: a a a

2020 March 06

T

Tatiana in [No Offense]
А что возвращает pthread_cond_sigmal не смотрел? По коду возврата можно понять, доставилось ли. К тому же, что-то спецификация подсказывает, что там все не так просто.. задача разбудить тред или наоборот?
источник

O

Oracle in [No Offense]
Tatiana
А что возвращает pthread_cond_sigmal не смотрел? По коду возврата можно понять, доставилось ли. К тому же, что-то спецификация подсказывает, что там все не так просто.. задача разбудить тред или наоборот?
Нет, не смотрел. И да, задача разбудить второй тред. Один добавляет в массив, другой уменьшает
источник

T

Tatiana in [No Offense]
Oracle
Нет, не смотрел. И да, задача разбудить второй тред. Один добавляет в массив, другой уменьшает
Глянь код возврата. Лучше через perror
источник

O

Oracle in [No Offense]
Tatiana
Глянь код возврата. Лучше через perror
Благодарю!
источник

T

Tatiana in [No Offense]
Рано, если там ноль, ничего не решилось)
источник

u

unstppbl in [No Offense]
А почему Таньчик тут не солнышко?
источник

O

Oracle in [No Offense]
Tatiana
Рано, если там ноль, ничего не решилось)
Я тыкаю пока что, но там действительно 0
источник

O

Oracle in [No Offense]
Думал что может cv неправильно создал, но похоже дело не в этом 😅 Сигналы могут теряться?
источник

T

Tatiana in [No Offense]
If more than one thread is blocked on a condition variable, the scheduling policy shall determine the order in which threads are unblocked. When each thread unblocked as a result of a pthread_cond_broadcast() or pthread_cond_signal() returns from its call to pthread_cond_wait() or pthread_cond_timedwait(), the thread shall own the mutex with which it called pthread_cond_wait() or pthread_cond_timedwait(). The thread(s) that are unblocked shall contend for the mutex according to the scheduling policy (if applicable), and as if each had called pthread_mutex_lock().
источник

T

Tatiana in [No Offense]
Oracle
Думал что может cv неправильно создал, но похоже дело не в этом 😅 Сигналы могут теряться?
По-моему, у тебя просто вызовов не хватает
источник

T

Tatiana in [No Offense]
Oracle
Думал что может cv неправильно создал, но похоже дело не в этом 😅 Сигналы могут теряться?
Не, не эти. Я посмотрела, там все по-серьёзному) надо смотреть scheduling вызовов, как в стандарте.
источник

T

Tatiana in [No Offense]
Тьфу
источник

T

Tatiana in [No Offense]
pthread_cond_broadcast() and pthread_cond_signal() functions shall have no effect if there are no threads currently blocked on cond.
источник

O

Oracle in [No Offense]
Tatiana
pthread_cond_broadcast() and pthread_cond_signal() functions shall have no effect if there are no threads currently blocked on cond.
Вот оно в чем дело
источник

T

Tatiana in [No Offense]
Вот оно. У тебя просто нет треда, который бы заблокировал переменную
источник

O

Oracle in [No Offense]
Tatiana
pthread_cond_broadcast() and pthread_cond_signal() functions shall have no effect if there are no threads currently blocked on cond.
Где вы это читаете?
источник

T

Tatiana in [No Offense]
В манах. Например, тут
https://linux.die.net/man/3/pthread_cond_signal
источник

O

Oracle in [No Offense]
Все еще не научился читать мануалы 🙃
источник

T

Tatiana in [No Offense]
Oracle
Все еще не научился читать мануалы 🙃
Зря. По-моему) одна из самых полезных штук, когда пишешь на с, особенно на низком уровне
источник

u

unstppbl in [No Offense]
Oracle
Все еще не научился читать мануалы 🙃
RTFM
источник