[C] curl 라이브러리 thread safe
curl을 사용하면 가벼운 프로그램을 제외하고 대부분은 multi thread 기반의 설계를 할 것입니다. curl 라이브러리는 기본적으로 thread safe에 대해서 보장을 해주지 않을 수 있습니다. 정확하게 원인을 파악해보지는 않았지만, curl은 multi thread로 동작하게 되면 비슷한 에러가 발생하는 경우가 많았습니다. 여러 쓰레드에서 동일한 핸들을 사용할 경우에 이러한 문제가 발생하는 경우가 많습니다. lock, unlock을 사용할 수 있지만, 그에 대한 성능이 떨어질 수 밖에 없습니다. 물론 발생을 안하는 경우가 있지만, 한번씩 발생하는 에러를 막기 위해서는 그에 대한 설정이 필요합니다. 바로 CURL의 NOSIGNAL 옵션입니다. curl 사이트에도 나와있듯이, 모든 signal을 ..