fix curl_multi_timeout bug found on mac

git-svn-id: http://s3fs.googlecode.com/svn/trunk@101 df820570-a93a-0410-bd06-b72b767a4274
This commit is contained in:
rrizun 2008-02-24 21:05:01 +00:00
parent 4af3aa98ae
commit efec7c8f76

View File

@ -1161,6 +1161,7 @@ s3fs_readdir(const char *path, void *buf, fuse_fill_dir_t filler, off_t offset,
time_t milliseconds; time_t milliseconds;
VERIFY(curl_multi_timeout(multi_handle.get(), &milliseconds)); VERIFY(curl_multi_timeout(multi_handle.get(), &milliseconds));
if (milliseconds != -1) {
if (milliseconds > 0) { if (milliseconds > 0) {
struct timeval timeout; struct timeval timeout;
timeout.tv_sec = 0; timeout.tv_sec = 0;
@ -1172,6 +1173,7 @@ s3fs_readdir(const char *path, void *buf, fuse_fill_dir_t filler, off_t offset,
if (select(max_fd + 1, &read_fd_set, &write_fd_set, &exc_fd_set, &timeout) == -1) if (select(max_fd + 1, &read_fd_set, &write_fd_set, &exc_fd_set, &timeout) == -1)
Yikes(-errno); Yikes(-errno);
} }
}
while (curl_multi_perform(multi_handle.get(), &running_handles) == CURLM_CALL_MULTI_PERFORM) while (curl_multi_perform(multi_handle.get(), &running_handles) == CURLM_CALL_MULTI_PERFORM)
cout << "[2]" << endl; cout << "[2]" << endl;