]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/thread/test/test_6130.cpp
1 // Copyright (C) 2010 Vicente Botet
3 // Distributed under the Boost Software License, Version 1.0. (See accompanying
4 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 #define BOOST_THREAD_VERSION 2
8 #include <boost/thread/thread_only.hpp>
9 #include <boost/date_time/posix_time/posix_time_io.hpp>
13 #if defined(BOOST_THREAD_PLATFORM_PTHREAD)
18 boost::condition_variable cv
;
20 using namespace boost::posix_time
;
21 using namespace boost::gregorian
;
24 #if defined(BOOST_THREAD_PLATFORM_PTHREAD)
26 for (int i
=0; i
<3; ++i
)
28 const time_t now_time
= ::time(0);
29 const time_t wait_time
= now_time
+1;
31 assert(now_time
< wait_time
);
33 boost::unique_lock
<boost::mutex
> lk(mtx
);
35 (void)cv
.timed_wait(lk
, from_time_t(wait_time
));
37 std::cerr
<< "now_time =" << now_time
<< " \n";
38 std::cerr
<< "end_time =" << end_time
<< " \n";
39 std::cerr
<< "wait_time=" << wait_time
<< " \n";
40 std::cerr
<< "now_time =" << from_time_t(now_time
) << " \n";
41 std::cerr
<< "end_time =" << from_time_t(end_time
) << " \n";
42 std::cerr
<< "wait_time=" << from_time_t(wait_time
) << " \n";
43 std::cerr
<< end_time
- wait_time
<< " \n";
44 assert(end_time
>= wait_time
);