c++ - spin_lock.h port from windows to linux -
i have following header:
#if !defined(_spin_lock_h_included_) #define _spin_lock_h_included_  #include <windows.h>  class spin_lock { public:     spin_lock();     virtual ~spin_lock();      void lock( void );     void unlock( void );  private:     critical_section m_lock;      spin_lock( const spin_lock& );     const spin_lock& operator = ( const spin_lock& ); }; there possibility port on linux minimum changes ?
after comment i'm getting error:
in file included ../sources/utils.11.0/mypdflibutils.cpp:43:0: ../sources/utils.11.0/spin_lock.h:39:2: error: ‘critical_section’ not name type critical_section m_lock;
critical_section declared in winbase.h part of microsoft sdk
this implementation:
#include <windows.h>  #include "spin_lock.h"  spin_lock::spin_lock() {     ::initializecriticalsection( &m_lock ); }  spin_lock::~spin_lock() {     ::deletecriticalsection( &m_lock ); }  void spin_lock::lock( void ) {     ::entercriticalsection( &m_lock ); }  void spin_lock:: unlock( void ) {     ::leavecriticalsection( &m_lock ); }  
 
  
Comments
Post a Comment