aboutsummaryrefslogtreecommitdiff
path: root/nix/boost/throw_exception.hpp
blob: 07b4ae5ceae7f1eb9a4b494110e73b71281d7b46 (about) (plain)
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
#ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED
#define BOOST_THROW_EXCEPTION_HPP_INCLUDED

// MS compatible compilers support #pragma once

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
# pragma once
#endif

//
//  boost/throw_exception.hpp
//
//  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
//
//  Permission to copy, use, modify, sell and distribute this software
//  is granted provided this copyright notice appears in all copies.
//  This software is provided "as is" without express or implied
//  warranty, and with no claim as to its suitability for any purpose.
//
//  http://www.boost.org/libs/utility/throw_exception.html
//

//#include <boost/config.hpp>

#ifdef BOOST_NO_EXCEPTIONS
# include <exception>
#endif

namespace boost
{

#ifdef BOOST_NO_EXCEPTIONS

void throw_exception(std::exception const & e); // user defined

#else

template<class E> void throw_exception(E const & e)
{
    throw e;
}

#endif

} // namespace boost

#endif // #ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED
ovic Courtès <ludo@gnu.org> Attila Lendvai 2024-01-08services: shepherd: Use the 0.10.x GOOPS-less interface....* gnu/services/shepherd.scm (%default-modules): Remove (oop goops). (shepherd-service-file): Use (service …) instead of (make <service> …). Use ‘actions’ instead of ‘make-actions’. (scm->go): Remove use of (oop goops). (shepherd-configuration-file): Pass ‘register-services’ a list. Use ‘start-in-the-background’ unconditionally. Change-Id: I0ad1ba32e339c56ee31e59f160b53d3581277d97 Ludovic Courtès 2024-01-05services: shepherd: Remove ‘dynamic-wind’ in ‘call-with-*-file’....Fixes <https://issues.guix.gnu.org/64653>. The ‘dynamic-wind’ was causing files to be closed prematurely when leaving the dynamic extent of PROC for instance via a delimited continuation, using Fibers (that ‘dynamic-wind’ call was also semantically incorrect in the first place). * gnu/services/shepherd.scm (shepherd-configuration-file) [config](call-with-file): Remove. (call-with-input-file, call-with-output-file): Rewrite in terms of ‘call-with-port’. Change-Id: Ica8af71a04f525a15be99985552063cb98cd6ee8 Ludovic Courtès 2023-06-25services: Validate 'provision' field of <shepherd-service>....Fixes <https://issues.guix.gnu.org/63979>. * gnu/services/shepherd.scm (validate-provision): New procedure. (<shepherd-service>)[provision]: Use it. Co-authored-by: Bruno Victal <mirai@makinata.eu> Ludovic Courtès 2023-05-13services: shepherd: Default to 0.10....* gnu/services/shepherd.scm (<shepherd-configuration>)[shepherd]: Default to SHEPHERD-0.10. * gnu/home/services/shepherd.scm (<home-shepherd-configuration>)[shepherd]: Likewise. Ludovic Courtès 2022-11-18services: shepherd: Define 'shepherd-configuration-action' helper....* gnu/services/shepherd.scm (shepherd-configuration-action): New * doc/guix.texi (Shepherd Services): Document it. Ludovic Courtès 2022-09-29services: shepherd: Leave the finalization thread in peace....This gets rid of that (in)famous at boot time: error in finalization thread: Success This was caused by the file-descriptor closing loop, which would clause the finalization pipe, leading the finalization thread to (erroneously) error out. Thanks to Josselin Poiret for locating the problem! * gnu/services/shepherd.scm (shepherd-boot-gexp): In 'loop', replace 'close-fdes' with a pair of 'fcntl' calls to add FD_CLOEXEC. Ludovic Courtès 2022-09-13services: shepherd: Install O_CLOEXEC variant of 'call-with-input-file' & co....Fixes a bug introduced with the Shepherd 0.9.2 upgrade in commit 1ba0e38267c9ff8bb476285091be6e297bbf136e whereby files opened by, say, the 'start' method of 'urandom-seed', could leak into the execution environment of some other service--e.g., 'term-tty4'. * gnu/services/shepherd.scm (shepherd-configuration-file)[config]: Override 'call-with-input-file' and 'call-with-output-file'. Ludovic Courtès 2022-09-11services: shepherd: Open /dev/null as O_CLOEXEC....Failing to do that, that file descriptor could be inherited by child processes as of Shepherd 0.9.2. * gnu/services/shepherd.scm (shepherd-configuration-file): Open /dev/null as O_CLOEXEC. Ludovic Courtès