mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-22 06:57:51 +00:00
32 lines
864 B
C++
32 lines
864 B
C++
/*
|
|
* \brief Support for blocking operations
|
|
* \author Norman Feske
|
|
* \date 2007-09-06
|
|
*/
|
|
|
|
/*
|
|
* Copyright (C) 2007-2017 Genode Labs GmbH
|
|
*
|
|
* This file is part of the Genode OS framework, which is distributed
|
|
* under the terms of the GNU Affero General Public License version 3.
|
|
*/
|
|
|
|
#ifndef _INCLUDE__BASE__BLOCKING_H_
|
|
#define _INCLUDE__BASE__BLOCKING_H_
|
|
|
|
#include <base/exception.h>
|
|
|
|
namespace Genode { class Blocking_canceled; }
|
|
|
|
/**
|
|
* Blocking-canceled exception
|
|
*
|
|
* Two operations may block a thread, waiting at a lock or performing an RPC
|
|
* call. Both operations may be canceled when the thread is destructed. In this
|
|
* case, the thread unblocks and throws an exception, and therefore, is able to
|
|
* clean up the thread state before exiting.
|
|
*/
|
|
class Genode::Blocking_canceled : public Exception { };
|
|
|
|
#endif /* _INCLUDE__BASE__BLOCKING_H_ */
|