    MutexLock::UnassignGuard ug(mutex_);
    return ETIMEDOUT == pthread_cond_timedwait(&pcond_, mutex_.getPthreadMutex(), &abstime);
 diff --git a/muduo/base/FileUtil.cc b/muduo/base/FileUtil.cc
-index 4d338d8..a4c2515 100644
+index 999b0e5..ad9da8a 100644
 --- a/muduo/base/FileUtil.cc
 +++ b/muduo/base/FileUtil.cc
 @@ -64,8 +64,12 @@ void FileUtil::AppendFile::flush()

   int sockfd = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
   if (sockfd < 0)
   {
@@ -68,13 +78,6 @@ int sockets::createNonblockingOrDie()
   }
 
   setNonBlockAndCloseOnExec(sockfd);

+target_link_libraries(muduo_base pthread)
 
 add_library(muduo_base_cpp11 ${base_SRCS})
-target_link_libraries(muduo_base_cpp11 pthread rt)
+target_link_libraries(muduo_base_cpp11 pthread)
 set_target_properties(muduo_base_cpp11 PROPERTIES COMPILE_FLAGS "-std=c++0x")
 
 install(TARGETS muduo_base DESTINATION lib)
diff --git a/muduo/base/Condition.cc b/muduo/base/Condition.cc
index f10ace3..73a1715 100644
--- a/muduo/base/Condition.cc
