리눅스와 GNU 사용자 공간 (glibc) 모두 ISO C 및/또는 POSIX의 요구 사항을 명백히 위반 함에도 불구하고 책임감있는 당사자들이 수정하지 않으려는 버그를 포함하여 "WONTFIX" 이러한 버그를 나열한 프로그래머를위한 리소스와이를 해결하기위한 제안을 모르고 있습니다. 여기 GNU/Linux의 WONTFIX 버그는 무엇이고 어떻게 해결할 수 있습니까?
마음에 와서 그 몇 가지 있습니다 :- 리눅스 UDP
select
버그 :select
(및 관련 인터페이스) 플래그 즉시 패킷이 수신 된대로 읽기위한 준비 UDP 소켓 파일 설명없이 체크섬을 확인합니다. 후속recv
/read
/etc에서 체크섬이 유효하지 않으면 통화가 차단됩니다. 이 문제를 해결하려면 항상 UDP 소켓을 비 차단 모드로 설정하고EWOULDBLOCK
조건을 처리해야합니다. 내가 올바르게 기억한다면, MaraDNS는이 버그의 영향을받은 주목할만한 프로젝트 중 첫 번째 프로젝트였으며, 처음으로 MaraDNS를 수정 (불만족스럽게)하자. 참고 : Martin v. Löwis가 지적한 것처럼이 버그는 수정되었습니다. 해결 방법은 아마도 오래된 버전의 Linux를 지원해야하는 경우에만 필요합니다. - GNU C 라이브러리의
printf
패밀리는 필드 정밀도 (%.3s
)가 지정 될 때%s
에 대한 인수를 바이트 문자열 대신 멀티 바이트 문자열로 잘못 처리하므로 잠재적으로 잘리지 않는 출력이 발생합니다. 나는printf
서브 시스템 전체를 바꾸는 것 외에는 (또는 단순히 멀티 바이트 문자가 아닌 바이트 문자열과 함께printf
패밀리를 사용하지 않고 있지만, UTF에서snprintf
을 사용하여 레거시 - 코드 페이지 문자열을 처리하려는 경우에는 문제가 될 수 있습니다. -8 로켈). -
Wrong(나는이에 대한 참조를 찾을 수 없습니다 아마도 내가 잘못이다 내가 찾을 수있는 가장 가까운errno
특정 시스템 호출에 대한 결과 코드 (어떤 시스템이 정상적으로 작동하는지 기억할 수 없음). 일반적으로 이들은 GNU/Linux 매뉴얼 페이지를 읽고 표준과 비교하는지 쉽게 확인할 수 있습니다.ENOTSUP
및EOPNOTSUP
가 같은 값을 갖는 문제이다. PDTR 24715를 참조
을 좀 더 버그와 해결 방법 우리가 할 수있는은 무엇입니까. ?이 목록에 추가 내 목표를이 질문에는 다음과 같습니다 신규 및 경험이 풍부한 프로그래머가 빠르게 intended-을 실행할 때 발생할 수있는 잠재적 인 문제를 인식 될 수 있도록
- 는 버그의 더 완전한 목록을 만들려면 GNU/Linux의 이식성있는 프로그램
- SO 집단의 두뇌를 활용하여 가능한 한 많은 버그에 대해 현명하고 눈에 거슬리지 않는 표준 해결책을 생각해보십시오. 모든 사람이 찌르면 자신의 해결책을 고안하지 않아도되고, 차선책, 못생긴 또는 해킹하는 방식으로 그렇게 할 수도 있습니다. 최악의 경우,보다 많은 규칙을 따르는 시스템에 대한 지원을 중단하는 방식으로
누가 투표를 종료했는지 설명 해주십시오. 분명히 프로그래밍 주제 인 해결 방법에 대해 물어 본 이후로 이것이 어떻게 주제와 관련이 없는지 알 수 없습니다. 나는 그것이 종결을 제안하는 별도의 이유가 될 수있는 다소 논쟁의 여지가 있음을 인정하지만, 초점이 단순한 blamefest가 아닌 눈에 거슬리는 방식으로 이러한 문제를 다루는 해결책을 건설적으로 찾는 것이라면 나는 그것이 가치있는 질문이라고 생각한다. –
어떤 버그가 있습니까? Linux가 표준을 준수하지 않는다면, 그것은 분명히 잘못된 표준입니다. –
@R .. - 농담. 실제로 이런 식으로 생각하는 사람들이 있다면 놀라지 않을 것입니다. 그리고 그것이 가치있는 일인가 - 이것이 좋은 질문이라고 생각합니다. –