This file is indexed.

/usr/include/visp/vpMutex.h is in libvisp-dev 2.8.0-4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/****************************************************************************
 *
 * $Id: vpMutex.h 4056 2013-01-05 13:04:42Z fspindle $
 *
 *
 * This file is part of the ViSP software.
 * Copyright (C) 2005 - 2013 by INRIA. All rights reserved.
 *
 * This software is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * ("GPL") version 2 as published by the Free Software Foundation.
 * See the file LICENSE.txt at the root directory of this source
 * distribution for additional information about the GNU GPL.
 *
 * For using ViSP with software that can not be combined with the GNU
 * GPL, please contact INRIA about acquiring a ViSP Professional
 * Edition License.
 *
 * See http://www.irisa.fr/lagadic/visp/visp.html for more information.
 *
 * This software was developed at:
 * INRIA Rennes - Bretagne Atlantique
 * Campus Universitaire de Beaulieu
 * 35042 Rennes Cedex
 * France
 * http://www.irisa.fr/lagadic
 *
 * If you have questions regarding the use of this file, please contact
 * INRIA at visp@inria.fr
 *
 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 *
 *
 * Description:
 * Mutex protection.
 *
 * Authors:
 * Celine Teuliere
 *
 *****************************************************************************/


#ifndef __VP_MUTEX__
#define __VP_MUTEX__

#include <visp/vpConfig.h>
#include <visp/vpException.h>
#ifdef VISP_HAVE_PTHREAD

#include <pthread.h>

/*!

  \class vpMutex

  \ingroup Mutex

  \brief Class that allows protection by mutex.

  \warning This class needs the pthread third-party library.
*/
class VISP_EXPORT vpMutex {
public:
	vpMutex() {
		pthread_mutex_init( &m_mutex, NULL );
	}
	void lock() {
		pthread_mutex_lock( &m_mutex );
	}
	void unlock() {
		pthread_mutex_unlock( &m_mutex );
	}

	/*!
	  
	  \class vpScopedLock
	  
	  \ingroup Mutex
	  
	  \brief Class that allows protection by mutex.
	  
	  \warning This class needs the pthread third-party library.
	*/
	class VISP_EXPORT vpScopedLock
	{
	private:
		vpMutex & _mutex;
	public:

#ifndef DOXYGEN_SHOULD_SKIP_THIS
    void operator=(const vpScopedLock &){
      throw vpException(vpException::functionNotImplementedError,"Not implemented!");
    }
#endif

		vpScopedLock(vpMutex & mutex)
			: _mutex(mutex)
		{
			_mutex.lock();
		}
		~vpScopedLock()
		{
			_mutex.unlock();
		}
	};
private:
	pthread_mutex_t m_mutex;
};

#endif

#endif