我寫了一些pthread代碼,它們在條件變量上使用定時等待,但爲了確保相對等待,我使用pthread_condattr_setclock()將condvar的時鐘類型設置爲CLOCK_MONOTONIC。針對pthread函數的NPTL鏈接pthread_condattr_setclock
爲了在RHEL4上編譯和鏈接pthread_condattr_setclock(),我必須在我的gcc命令行中添加-I/usr/include/nptl和-L/usr/lib/nptl。我的理解是,2.6內核(RHEL4有)默認使用NPTL pthread實現,爲什麼我需要明確指定這些路徑才能使用此函數?
只有這個函數需要我這樣做:如果我不寫,所有東西都編譯並鏈接正常,沒有指定額外的路徑(儘管代碼的行爲不正確)。