1
This示例代碼包含:爲什麼要改變curl_multi_timeout()的返回值?
curl_multi_timeout(multi_handle, &curl_timeo);
if(curl_timeo >= 0) {
timeout.tv_sec = curl_timeo/1000;
if(timeout.tv_sec > 1)
timeout.tv_sec = 1;
else
timeout.tv_usec = (curl_timeo % 1000) * 1000;
}
爲什麼tv_sec
截取到1秒?爲什麼curl_multi_timeout()
原樣返回的值(在除以1000之後)?
假設上面有一個很好的理由,那麼有沒有這樣的情況,當你不會剪輯值爲1秒?那是什麼情況?
但tv_usec是微秒。如果curl_timeo是毫秒,那麼你需要乘以1000.這只是看起來不對的mod。對? – 2011-05-02 14:42:44
@Paul:不,tv_usec也是毫秒 - 你不需要額外的因子1000.如果你使用的是微秒,你可以使用struct timespec,它有一個微秒的tv_nsec成員。該代碼使用較舊的'struct timeval'。 – unpythonic 2011-05-02 15:01:58
不,tv_usec確實是微秒:'u'是micro的SI前綴。其他地方:http://www.gnu.org/s/hello/manual/libc/Elapsed-Time.html – 2011-05-02 15:09:03