목록reentrant (2)
Linux Programmer
예전에 위키에 TS(Thread-Safety) 내용중에 잘못된 내용이 있는 것을 알게되었다. 까맣게 잊고 있다가 누구에게 TSF(Thread-Safe-Function)알려주다가 위키를 참고하라고 했다. 문득 생각이 나서 다시 위키 내용을 보았다. http://en.wikipedia.org/wiki/Thread_safety 위 링크를 가보면 재진입(reentrant)에 대해 잘못 올라와 있는 내용은 삭제되었다. 잘못된 내용이란 재진입은 만족하지만 쓰레드 안전(thread-safety)은 만족하지 않는 코드가 있다고 하는 것이었다. 하지만 실상은 재진입은 쓰레드 안전을 충족하고 나아가 비동기 시그널에서도 제대로 작동하는 더 엄격한 규약을 만족하는 코드를 말한다. 히스토리를 살펴보니 reentrant에 대해 ..
* 이 글은 C언어 시스템 프로그램에서 주로 사용되는 reentrant(재진입성) 함수와 멀티쓰레드 안전(Multi-threads-safety)의 차이와 기능에 대해서 알아보는 글입니다. (참고: "멀티쓰레드 안전"은 매뉴얼 표기시 MT-safe, MT-safety, Thread-safe라고 표기합니다.) 우선 책에는 애매모호하게 짧게 적어놔서 문의 메일을 여러 차례 받았습니다. 매번 같은 내용을 설명하는 것도 힘들고, 자세히 설명드리지도 못해 죄송한 마음에 미리 적어두고 해당 링크만 참조시켜드릴 요령으로 작성하게 되었습니다. [책의 원문] * 원자성과 쓰레드 - 안전, 재진입성에 대해서 원자성(atomicity)이 보장되는 코드(or 함수)는 일단 해당 코드 부분이 시작하면, 종료되기 전에는 다른 코드..