This file is indexed.

/usr/include/pion/process.hpp is in libpion-dev 5.0.4+dfsg-2.

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
// ---------------------------------------------------------------------
// pion:  a Boost C++ framework for building lightweight HTTP interfaces
// ---------------------------------------------------------------------
// Copyright (C) 2007-2012 Cloudmeter, Inc.  (http://www.cloudmeter.com)
//
// Distributed under the Boost Software License, Version 1.0.
// See http://www.boost.org/LICENSE_1_0.txt
//

#ifndef __PION_PROCESS_HEADER__
#define __PION_PROCESS_HEADER__

#include <string>
#include <boost/noncopyable.hpp>
#include <boost/thread/once.hpp>
#include <boost/thread/mutex.hpp>
#include <boost/thread/condition.hpp>
#include <pion/config.hpp>


namespace pion {    // begin namespace pion

///
/// process: class for managing process/service related functions
///
class PION_API process :
    private boost::noncopyable
{
public:

    // default destructor
    ~process() {}
    
    /// default constructor
    process(void) {}
    
    /// signals the shutdown condition
    static void shutdown(void);
    
    /// blocks until the shutdown condition has been signaled
    static void wait_for_shutdown(void);

    /// sets up basic signal handling for the process
    static void initialize(void);
    
    /// fork process and run as a background daemon
    static void daemonize(void);


protected:

    /// data type for static/global process configuration information
    struct config_type {
        /// constructor just initializes native types
        config_type() : shutdown_now(false) {}
    
        /// true if we should shutdown now
        bool                    shutdown_now;
        
        /// triggered when it is time to shutdown
        boost::condition        shutdown_cond;

        /// used to protect the shutdown condition
        boost::mutex            shutdown_mutex;
    };

    
    /// returns a singleton instance of config_type
    static inline config_type& get_config(void) {
        boost::call_once(process::create_config, m_instance_flag);
        return *m_config_ptr;
    }


private:

    /// creates the config_type singleton
    static void create_config(void);

    
    /// used to ensure thread safety of the config_type singleton
    static boost::once_flag             m_instance_flag;

    /// pointer to the config_type singleton
    static config_type *          m_config_ptr;
};


}   // end namespace pion

#endif