흐르는 시간의 블로그...


Producer Consumer 큐를 만들었다.

이와 함께 Job을 가상화 하여 일정한 규칙(동일 DB Insert)을 가지는 다양한 Job을 처리하게 하였다.

그리고 그것도 템플릿으로 또 다시 묶었다. (너무 과잉인가.. ㅠ.ㅠ)


문제는 테스트 코드에서는 문제가 없는데...

상용 코드에서는 자꾸 에러가 나는 것이다.


pthread_mutex_lock()을 콜하면 "130"을 반환하고 errno로 "0"을 줬다.

프로그램은 lock이 걸려서 더 진행되지 않았다.


스택오버플로우도 뒤져보고 해서...

뭐 테스트 쓰레드도 만들고 다 해봤는데 또 잘 된다.


결론은!!!!

상용코드에서 init()을 콜하지 않았다. ㅠ.ㅠ

해당 init 코드에서 pthread_mutex_init()을 통해 mutex를 초기화 해야 하는데

초기화 하지 않은 mutex를 사용하려니 문제를 발생 시킨 것이다.


그런데 그게 다른 에러가 아니라... 130번이 반환되서 고생한 것이었다. ㅠ.ㅠ

"EOWNERDEAD"