mirror of https://github.com/cutefishos/calamares
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.1 KiB
C++
47 lines
1.1 KiB
C++
/*
|
|
* SPDX-FileCopyrightText: 2001-2010 Klaralvdalens Datakonsult AB.
|
|
* SPDX-License-Identifier: LGPL-2.0-only
|
|
*
|
|
* The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB.
|
|
*/
|
|
#include "kdsharedmemorylocker.h"
|
|
|
|
#if QT_VERSION >= 0x040400 || defined( DOXYGEN_RUN )
|
|
|
|
#include <QSharedMemory>
|
|
|
|
using namespace kdtools;
|
|
|
|
/*!
|
|
\class KDSharedMemoryLocker
|
|
\ingroup raii core
|
|
\brief Exception-safe and convenient wrapper around QSharedMemory::lock()
|
|
*/
|
|
|
|
/**
|
|
* Constructor. Locks the shared memory segment \a mem.
|
|
* If another process has locking the segment, this constructor blocks
|
|
* until the lock is released. The memory segments needs to be properly created or attached.
|
|
*/
|
|
KDSharedMemoryLocker::KDSharedMemoryLocker( QSharedMemory* mem )
|
|
: mem( mem )
|
|
{
|
|
mem->lock();
|
|
}
|
|
|
|
/**
|
|
* Destructor. Unlocks the shared memory segment associated with this
|
|
* KDSharedMemoryLocker.
|
|
*/
|
|
KDSharedMemoryLocker::~KDSharedMemoryLocker()
|
|
{
|
|
mem->unlock();
|
|
}
|
|
|
|
#ifdef KDAB_EVAL
|
|
#include KDAB_EVAL
|
|
static const EvalDialogChecker evalChecker( "KD Tools", false );
|
|
#endif
|
|
|
|
#endif
|