timemory 3.3.0
Modular C++ Toolkit for Performance Analysis and Logging. Profiling API and Tools for C, C++, CUDA, Fortran, and Python. The C++ template API is essentially a framework to creating tools: it is designed to provide a unifying interface for recording various performance measurements alongside data logging and interfaces to other tools.
popen.cpp File Reference
#include "timemory/macros/os.hpp"
#include "timemory/utility/delimit.hpp"
#include "timemory/utility/popen.hpp"
#include <limits>
+ Include dependency graph for popen.cpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tim::popen::group_info
 

Namespaces

namespace  tim
 
namespace  tim::popen
 

Macros

#define OPEN_MAX   1024
 
#define NGROUPS_MAX   16
 

Functions

group_info & tim::popen::get_group_info ()
 
void tim::popen::drop_privileges (int permanent)
 
void tim::popen::restore_privileges ()
 
int tim::popen::open_devnull (int fd)
 
void tim::popen::sanitize_files ()
 
pid_t tim::popen::fork ()
 
TIMEMORY_PIPE * tim::popen::popen (const char *path, char **argv, char **envp)
 
int tim::popen::pclose (TIMEMORY_PIPE *p)
 
strvec_t tim::popen::read_fork (TIMEMORY_PIPE *proc, int max_counter)
 
std::ostream & tim::popen::flush_output (std::ostream &os, TIMEMORY_PIPE *proc, int max_counter)
 

Variables

char ** environ
 

Class Documentation

◆ tim::popen::group_info

struct tim::popen::group_info

Definition at line 55 of file popen.cpp.

+ Collaboration diagram for tim::popen::group_info:
Class Members
gid_t group_id
gid_t groups[16]
int ngroups
uid_t user_id

Macro Definition Documentation

◆ NGROUPS_MAX

#define NGROUPS_MAX   16

Definition at line 40 of file popen.cpp.

◆ OPEN_MAX

#define OPEN_MAX   1024

Definition at line 36 of file popen.cpp.

Variable Documentation

◆ environ

char** environ
extern

Referenced by tim::popen::popen().