This file is indexed.

/usr/include/wvstreams/wvfork.h is in libwvstreams-dev 4.6.1-7.

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
/* -*- Mode: C++ -*-
 * Worldvisions Weaver Software:
 *   Copyright (C) 1997-2002 Net Integration Technologies, Inc.
 */
/** \file
 * Provides support for forking processes.
 */

#ifndef __WVFORK_H
#define __WVFORK_H

#ifndef _WIN32
#include <unistd.h>
#else
typedef int pid_t;
#endif

#include "wvscatterhash.h"
#include "wvtr1.h"

DeclareWvScatterTable(int);
typedef wv::function<void(pid_t)> WvForkCallback;

/**
 * Register a callback to be called during wvfork.
 * It will be called (in both parent and child process) after the fork has
 * happened but before wvfork returns.  It is passed the return value of the
 * fork.
 * 
 * NOTE: There is no way to undo this operation!
 */
extern void add_wvfork_callback(WvForkCallback cb);

/**
 * wvfork_start is just like fork, except that it will block the
 * parent until the child process closes the waitfd, to avoid race
 * conditions.
 *
 * For example, wvfork uses it, closing the waitfd only when it is
 * done closing the close-on-exec file descriptors.
 */
extern pid_t wvfork_start(int *waitfd);

/**
 * wvfork() just runs fork(), but it closes all file descriptors that
 * are flagged close-on-exec, since we don't necessarily always run
 * exec() after we fork()...
 *
 * This fixes the year-old mystery bug where WvTapeBackup caused
 * watchdog reboots because the CHILD process wasn't touching it, and
 * it was already open before the fork()...
 */
extern pid_t wvfork(int dontclose1 = -1, int dontclose2 = -1);
extern pid_t wvfork(intTable &dontclose );

#endif