9dbfe242e3
seconds without producing output on stdout or stderr (NIX-65). This timeout can be specified using the `--max-silent-time' option or the `build-max-silent-time' configuration setting. The default is infinity (0). * Fix a tricky race condition: if we kill the build user before the child has done its setuid() to the build user uid, then it won't be killed, and we'll potentially lock up in pid.wait(). So also send a conventional kill to the child.
83 lines
2 KiB
C++
83 lines
2 KiB
C++
#ifndef __GLOBALS_H
|
|
#define __GLOBALS_H
|
|
|
|
#include "types.hh"
|
|
|
|
|
|
namespace nix {
|
|
|
|
|
|
/* Path names. */
|
|
|
|
/* nixStore is the directory where we generally store atomic and
|
|
derived files. */
|
|
extern string nixStore;
|
|
|
|
extern string nixDataDir; /* !!! fix */
|
|
|
|
/* nixLogDir is the directory where we log various operations. */
|
|
extern string nixLogDir;
|
|
|
|
/* nixStateDir is the directory where state is stored. */
|
|
extern string nixStateDir;
|
|
|
|
/* nixDBPath is the path name of our Berkeley DB environment. */
|
|
extern string nixDBPath;
|
|
|
|
/* nixConfDir is the directory where configuration files are
|
|
stored. */
|
|
extern string nixConfDir;
|
|
|
|
/* nixLibexecDir is the directory where internal helper programs are
|
|
stored. */
|
|
extern string nixLibexecDir;
|
|
|
|
/* nixBinDir is the directory where the main programs are stored. */
|
|
extern string nixBinDir;
|
|
|
|
|
|
/* Misc. global flags. */
|
|
|
|
/* Whether to keep temporary directories of failed builds. */
|
|
extern bool keepFailed;
|
|
|
|
/* Whether to keep building subgoals when a sibling (another subgoal
|
|
of the same goal) fails. */
|
|
extern bool keepGoing;
|
|
|
|
/* Whether, if we cannot realise the known closure corresponding to a
|
|
derivation, we should try to normalise the derivation instead. */
|
|
extern bool tryFallback;
|
|
|
|
/* Verbosity level for build output. */
|
|
extern Verbosity buildVerbosity;
|
|
|
|
/* Maximum number of parallel build jobs. 0 means unlimited. */
|
|
extern unsigned int maxBuildJobs;
|
|
|
|
/* Read-only mode. Don't copy stuff to the store, don't change the
|
|
database. */
|
|
extern bool readOnlyMode;
|
|
|
|
/* The canonical system name, as returned by config.guess. */
|
|
extern string thisSystem;
|
|
|
|
/* The maximum time in seconds that a builer can go without producing
|
|
any output on stdout/stderr before it is killed. 0 means
|
|
infinity. */
|
|
extern unsigned int maxSilentTime;
|
|
|
|
|
|
Strings querySetting(const string & name, const Strings & def);
|
|
|
|
string querySetting(const string & name, const string & def);
|
|
|
|
bool queryBoolSetting(const string & name, bool def);
|
|
|
|
unsigned int queryIntSetting(const string & name, unsigned int def);
|
|
|
|
|
|
}
|
|
|
|
|
|
#endif /* !__GLOBALS_H */
|