multi thread에서 Mutex 사용시 에러...
프로그래밍???/C/C++2015. 3. 4. 17:34
Producer Consumer 큐를 만들었다.
이와 함께 Job을 가상화 하여 일정한 규칙(동일 DB Insert)을 가지는 다양한 Job을 처리하게 하였다.
그리고 그것도 템플릿으로 또 다시 묶었다. (너무 과잉인가.. ㅠ.ㅠ)
문제는 테스트 코드에서는 문제가 없는데...
상용 코드에서는 자꾸 에러가 나는 것이다.
pthread_mutex_lock()을 콜하면 "130"을 반환하고 errno로 "0"을 줬다.
프로그램은 lock이 걸려서 더 진행되지 않았다.
스택오버플로우도 뒤져보고 해서...
뭐 테스트 쓰레드도 만들고 다 해봤는데 또 잘 된다.
결론은!!!!
상용코드에서 init()을 콜하지 않았다. ㅠ.ㅠ
해당 init 코드에서 pthread_mutex_init()을 통해 mutex를 초기화 해야 하는데
초기화 하지 않은 mutex를 사용하려니 문제를 발생 시킨 것이다.
그런데 그게 다른 에러가 아니라... 130번이 반환되서 고생한 것이었다. ㅠ.ㅠ
"EOWNERDEAD"
'프로그래밍??? > C/C++' 카테고리의 다른 글
Creating STL Containers in Shared Memory (0) | 2015.07.10 |
---|---|
공유 메모리에 STL Container를 올리려고 하게 된 연유 (0) | 2015.07.10 |
AES의 block mode 관련 사항 (0) | 2015.05.08 |
AES 암호/복호 C/C++ 기능 구현 (5) | 2015.05.06 |
Producer/Consumer 큐 구현하기(std::vector와 Template를 함께 사용하기) (4) | 2015.02.24 |