즉, 시스템 호출시 EINTR과 같은 오류 조건을 어떻게 테스트 할 것인가?단위 테스트 오류 조건 - EINTR
나는 그 자체로 모든 경우 일 수있는 한 가지 구체적인 예는 (errno == EINTR)을 사용하여 EOF를 반환 할 때 fclose를 다시 호출해야하는지 여부입니다. 이 동작은 fclose의 구현에 따라 달라집니다.
// Given an open FILE *fp
while (fclose(fp)==EOF && errno==EINTR) {
errno = 0;
}
EINTR이 발생할 때 fp가 해제되면이 호출은 안전하지 않을 수 있습니다. (errno == EINTR)에 대한 오류 처리를 테스트하려면 어떻게해야합니까?
본질적으로 당신은이 경우에해야 할 올바른 일인 시스템 호출을 조롱하는 것에 대해 이야기하고 있습니다. – tvanfosson
불행히도, 테스트하고 싶은 고기를 조롱하고있을 것입니다. 질문은 : * 실제 * 시스템 호출이 닫히는 동안 인터럽트되었을 때 fp의 상태는 무엇입니까? – bmdhacks