조건 변수에 대해서 - pthread

kicom95의 이미지

안녕하세요

pthread_cond_broadcast 나 pthread_cond_signal 함수를

반드시 1개 이상의 쓰레드가 pthread_cond_wait 로 대기하고 있는 상태에서만 꺠워야 하는지요 ?

만일 대기하고 있지도 않는 상태에서 상기 함수를 호출하면 어떻게 되나요 ( 정의 되지 않은 에러인가요 ? )

지금까지... 잘 돌던 프로그램인데... 위의 문제와 관련이 있는지 무한대기 상태에 빠져 있습니다.

검색을 해봤는데도 만족할만한 답은 없는듯 합니다 ㅠ.ㅠ

그럼 고견들 부탁드리겠습니다.

prether의 이미지

pthread_cond_wait()를 불러 블록킹되지 않은 상태의 쓰레드에

다른 쓰레드에서
pthread_cond_broadcast 나 pthread_cond_signal()를 invoke해도
한마디로 No effect and no harm 입니다.

/***************************************
Being the one is just like being in love.
***************************************/