Shadow Stack  0.2
 All Classes Namespaces Files Functions Variables Typedefs Macros
Static Public Member Functions | Static Private Attributes | List of all members
Group Struct Reference

A static class holding the group functions. More...

#include <group.hpp>

Static Public Member Functions

static void setup ()
 Setup the group This function should NOT be called by the dynamorio client. More...
 
static void terminate (const char *const msg, bool is_error=true)
 Terminates the process group via SIGKILL If is_error is set to true, msg is logged to the ERROR file, otherwise it is logged via Utilities::message If msg is nullptr, no message is passed. More...
 

Static Private Attributes

static bool setup_complete = false
 Used to tell if the process group has started. More...
 

Detailed Description

A static class holding the group functions.

Member Function Documentation

void Group::setup ( )
static

Setup the group This function should NOT be called by the dynamorio client.

By then the group will already be set up! This function first sets up the process group Then change the default signal handlers of all non-excluded signals to terminate the group when called. Also sets up the group refrence counter. This function is NOT thread safe, and should never be run after threading / forking has occured!

void Group::terminate ( const char *const  msg,
bool  is_error = true 
)
static

Terminates the process group via SIGKILL If is_error is set to true, msg is logged to the ERROR file, otherwise it is logged via Utilities::message If msg is nullptr, no message is passed.

If this function ends up calling itself, immediate process group termination will occur setup() DOES NOT have to be called before this function in every process. However, it MUST be called by DrShadowStack once first

Member Data Documentation

bool Group::setup_complete = false
staticprivate

Used to tell if the process group has started.


The documentation for this struct was generated from the following files: