5.8. 컴파일러 및 개발 도구


glibc getenv 함수는 제한된 형태의 스레드 안전성을 제공합니다.

glibc getenv 함수는 스레드로부터 안전하지 않습니다. 이전 버전에서는 애플리케이션이 여전히 함수 getenv,setenv,unsetenv,putenv, clearenv 를 동시에 호출하면 애플리케이션이 예기치 않게 종료되거나 getenv 가 잘못된 값을 반환할 수 있었습니다. 이 버그 수정을 통해 getenv 함수는 제한된 형식의 스레드 안전성을 제공합니다. 결과적으로 함수를 동시에 호출하면 애플리케이션이 더 이상 충돌하지 않습니다. 또한 getenvsetenv 를 사용하거나 프로그램을 시작할 때 존재했던 환경 값만 반환하고, 정렬되지 않은 unsetenv 호출이 있는 경우에만 설정된 환경 변수를 설정되지 않은 것으로 보고합니다.

이 수정은 environ 배열을 직접 수정하는 경우에는 적용되지 않습니다.

Jira:RHEL-67692

이제 pcp 패키지에서 /var/lib/pcp/config/pmie/config.default 파일에 대한 올바른 소유자와 그룹을 설정합니다.

이전 버전에서는 pcp 패키지를 처음 설치한 경우 패키지 설치 프로세스에서 /var/lib/pcp/config/pmie/config.default 파일의 소유권을 root:root 로 잘못 설정했습니다. 결과적으로 이 서비스에서 실행하는 pmie conf 유틸리티에 이 파일에 대한 pcp:pcp 소유권이 필요하므로 pmie 서비스를 시작하지 못했습니다. 서비스가 시작되지 않으면 /var/log/pcp/pmie/pmie_check.log 파일에 다음 오류가 기록되었습니다.

Warning: no write access to pmieconf file "/var/lib/pcp/config/pmie/config.default", skip reconfiguration
Copy to Clipboard Toggle word wrap

이번 업데이트를 통해 pcp 패키지는 첫 번째 설치 중에 /var/lib/pcp/config/pmie/config.default 파일에 대한 올바른 소유권을 설정하고 기존 설치에서 수정합니다. 결과적으로 pmie 서비스가 올바르게 시작됩니다.

Jira:RHEL-59366

PCP-xsos 는 시스템에 대한 빠른 요약을 제공합니다.

PCP(Performance Co- Cryostat) 툴킷의 구성 가능한 많은 구성 요소는 시스템 성능을 이해하기 위해 여러 가지 툴을 사용하는 경우가 많습니다. 이러한 툴의 대부분은 압축된 대규모 시계열 데이터 볼륨을 사용할 때 추가 처리 시간이 필요합니다. 이번 개선된 기능에는 pcp-xsos 유틸리티가 PCP에 추가되었습니다. 이 유틸리티는 PCP 아카이브에서 개별 시점의 빠르고 높은 수준의 분석을 수행할 수 있습니다. 결과적으로 pcp-xsos 를 사용하면 높은 수준의 성능 문제에 대한 통찰력을 얻고 대상 성능 분석 작업을 추가로 확인할 수 있습니다.

Jira:RHEL-30590[1]

iconv 인플레이스 변환으로 인해 더 이상 손상된 출력이 발생하지 않음

iconv 유틸리티는 변환된 출력을 동일한 파일에 작성할 수 있습니다. 이전에는 인플레이스 변환을 수행하고 소스 파일이 특정 크기를 초과하면 iconv 가 처리가 완료되기 전에 파일을 덮어씁니다. 그 결과 파일이 손상되었습니다. 이번 업데이트를 통해 소스 및 출력 파일이 동일한 경우 유틸리티는 임시 파일을 생성하고 변환이 완료된 후 소스 파일을 덮어씁니다. 결과적으로 인플레이스 변환으로 인해 더 이상 손상된 파일이 발생하지 않습니다.

Jira:RHEL-1915

glibc stub 확인자 및 getaddrinfo() API 호출의 개선 사항

이전 버전에서는 glibc stub resolver 및 getaddrinfo() API 호출으로 인해 다음과 같은 경우 예상 지연보다 오래 걸릴 수 있었습니다.

  • 서버에 액세스할 수 없습니다.
  • 서버가 쿼리를 거부했습니다.
  • 쿼리가 있는 네트워크 패킷이 손실되었습니다.

이번 업데이트를 통해 실패 사례의 지연이 줄어들고 새 해결 프로그램 옵션인 RES_STRICTERR 이 추가되었습니다. 이 옵션을 사용하면 getaddrinfo() API 호출에서 더 많은 DNS 오류를 보고합니다. 또한 구성 파일에서 옵션을 음수 접두사와 함께 사용할 수 있습니다.

Jira:RHEL-50662[1]

glibc 종료 함수가 더 이상 동시 호출에 충돌하지 않음

이전 버전에서는 exit 함수에 대한 동시 호출과 동시 < stdio.h > 스트림 작업을 사용하여 이 함수에 대한 호출이 동기화되지 않았습니다. 결과적으로 애플리케이션이 예기치 않게 종료되고 다중 스레드 애플리케이션에서 동시 종료 함수 호출이 발생하면 데이터 스트림이 손상될 수 있었습니다. 이번 업데이트를 통해 이제 exit 이 플러시할 때 < stdio.h > 스트림을 잠그고, exit 호출을 동시에 종료하고 quick_exit 은 하나의 호출을 선택하여 진행합니다. 결과적으로 이 시나리오에서는 애플리케이션이 더 이상 충돌하지 않습니다.

수정으로 인해 getchar 함수와 같이 < stdio.h > 스트림에서 차단 읽기 작업을 수행하거나 flockfile 함수를 사용하는 잠긴 스트림이 있는 애플리케이션은 읽기 작업이 반환되거나 잠금이 해제될 때까지 종료할 수 없습니다. 이러한 차단은 POSIX 표준에 필요합니다.

Jira:RHEL-65358[1]

waiting 스레드를 제거하기 위해 glibc 에서 POSIX 스레드의 구현이 향상되었습니다.

이전에는 POSIX 스레드 조건 변수 구현의 결함으로 인해 pthread_signal() API 호출이 대기 중인 스레드가 발생하지 않을 수 있었습니다. 결과적으로 스레드는 다음 신호 또는 브로드캐스트를 무기한 대기할 수 있었습니다. 이 버그 수정을 통해 POSIX 스레드 조건 변수의 구현에는 이제 누락된 신호 조건을 방지하고 대기 중인 스레드가 올바르게 워진 것을 보장하는 시퀀스 관련 알고리즘이 포함됩니다.

Jira:RHEL-2419

Boost.Asio 는 이동된 TCP 소켓을 재사용할 때 더 이상 예외를 표시하지 않음

이전에는 애플리케이션이 Boost.Asio 라이브러리를 사용하여 이동된 TCP 소켓을 재사용하면 애플리케이션이 bad_executor 예외로 실패했습니다. 이번 업데이트에서는 문제가 해결되어 설명된 시나리오에서 Boost.Asio 라이브러리가 더 이상 실패하지 않습니다.

Jira:RHEL-67973[1]

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat