1  /*
   2   * \brief  Support for blocking operations
   3   * \author Norman Feske
   4   * \date   2007-09-06
   5   */

   6  
   7  /*
   8   * Copyright (C) 2007-2013 Genode Labs GmbH
   9   *
  10   * This file is part of the Genode OS framework, which is distributed
  11   * under the terms of the GNU General Public License version 2.
  12   */

  13  
  14  #ifndef _INCLUDE__BASE__BLOCKING_H_
  15  #define _INCLUDE__BASE__BLOCKING_H_
  16  
  17  #include <base/exception.h>
  18  
  19  namespace Genode { class Blocking_canceled; }
  20  
  21  /**
  22   * Blocking-canceled exception
  23   *
  24   * Two operations may block a thread, waiting at a lock or performing an RPC
  25   * call. Both operations may be canceled when the thread is destructed. In this
  26   * case, the thread unblocks and throws an exception, and therefore, is able to
  27   * clean up the thread state before exiting.
  28   */

  29  class Genode::Blocking_canceled : public Exception { };

  30  
  31  #endif /* _INCLUDE__BASE__BLOCKING_H_ */