여러 사람이 동시에 사용할려고 하는 공유 라이브러리를 만들려고 하고 있습니다. 라이브러리 내의 함수를 thread 에서는 사용되지 않을 거구요.
그래도 여러 사람이 동시에 사용할 수 있기 때문에 reentrant 하게 만들 필요가 있을까요?
인터넷을 돌아다닌 결과, shared library는 라이브러리의 코드 영역은 다중의 프로세스가 공유하지만, 라이브러리의 데이터 영역은 각 프로세스 마다 별도로 영역이 잡히기 때문에 reentrant 하게 할 필요가 없다는 것이더군요.
때문에 multi-thread 에서 돌아갈 경우에만 reentrant 하면 되는 것으로 생각이 드네요.
아무래도
인터넷을 돌아다닌 결과, shared library는 라이브러리의 코드 영역은 다중의 프로세스가 공유하지만, 라이브러리의 데이터 영역은 각 프로세스 마다 별도로 영역이 잡히기 때문에 reentrant 하게 할 필요가 없다는 것이더군요.
때문에 multi-thread 에서 돌아갈 경우에만 reentrant 하면 되는 것으로 생각이 드네요.