file_lock_test.cpp

来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 63 行

CPP
63
字号
////////////////////////////////////////////////////////////////////////////////// (C) Copyright Ion Gaztanaga 2004-2008. Distributed under the Boost// Software License, Version 1.0. (See accompanying file// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)//// See http://www.boost.org/libs/interprocess for documentation.////////////////////////////////////////////////////////////////////////////////#include <boost/interprocess/detail/config_begin.hpp>#include <boost/interprocess/detail/workaround.hpp>#include <boost/interprocess/sync/file_lock.hpp>#include <boost/interprocess/sync/scoped_lock.hpp>#include <boost/date_time/posix_time/posix_time_types.hpp>#include "mutex_test_template.hpp"#include "sharable_mutex_test_template.hpp"#include "get_process_id_name.hpp"#include <fstream>#include <cstdio>using namespace boost::interprocess;//This wrapper is necessary to have a default constructor//in generic mutex_test_template functionsclass file_lock_lock_test_wrapper   : public boost::interprocess::file_lock{   public:   file_lock_lock_test_wrapper()      :  boost::interprocess::file_lock(test::get_process_id_name())   {}};int main (){   //Destroy and create file   {      std::remove(test::get_process_id_name());      std::ofstream file(test::get_process_id_name());      if(!file){         return 1;      }      file_lock flock(test::get_process_id_name());      {      scoped_lock<file_lock> sl(flock);      }      {      scoped_lock<file_lock> sl(flock, try_to_lock);      }      {      scoped_lock<file_lock> sl(flock, test::delay(1));      }   }   //test::test_all_lock<file_lock_lock_test_wrapper>();   //test::test_all_mutex<false, file_lock_lock_test_wrapper>();   //test::test_all_sharable_mutex<false, file_lock_lock_test_wrapper>();   std::remove(test::get_process_id_name());   return 0;}#include <boost/interprocess/detail/config_end.hpp>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?