centos7(redhat7) 中localtime_r有一個BUG

centos7(redhat7) 中localtime_r有一個BUG。具體過程如下:
step1 後臺進程啓動。
step2 用戶修改時區。
step3 後進進程在使用localtime_r取時間時,不會更新時區。取得時間還是舊的時間。但是localtime使用新的時區計算時間。
step4 此時再使用localtime調用後,localtime_r才使用新時區,計算時間。
PS, centos6無此問題。

BUG 2

centos7.5,進程使用gettimeofday (&tv,&tz);不會正確地取出時區來 tz.tz_minuteswest 總是0. 在手動使用timedatectl  set-timezone Asia/Shanghai (時區參數隨意),配置一次時區,纔可以正常。

在centos7的系統中,增加一個定時器,用於查看/etc/localtime軟連接文件是否發生變化。如果有變化,則調用localtime一次。
這樣localtime_r就會使用新的時區。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章