strerror라는 함수가 있으시다. 대다수의 표준 function들을 실행한 후에 에러가 발생했을 경우 해당 에러를 errno로 받아서 인자값으로 주게 되면 해당 errno에 해당하는 에러를 문자열로 변환해서 보여주는, 어떻게 보면 친절한 함수이다. (숫자 9, 이런거 보다 'Bad file descriptor' 요런 메시지가 얼마나 더 사용자 친화적인가!)
최근 32bit O/S 환경에서 컴파일 해서 오랫동안 운영해왔던 몇몇 데몬들을 64bit O/S 환경에서 작업을 하다가, 예기치 못한 Core Dump를 발견하게 되었다. 요컨데..
#include <stdio.h> #include <errno.h>
int main(int argc, char *argv[]) { printf("%s\n", strerror(EAGAIN)); }
요런 간단한 소스가 있다. 32bit FreeBSD에서 컴파일해서 실행해본다. (5.4 RELEASE, 6.1 RELEASE, 6.2 RELEASE에서 테스트되었다.)