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