xmltooling 3.0.4

Public Member Functions | Static Public Member Functions | List of all members
xmltooling::Thread Class Referenceabstract

A class for manual thread creation and synchronization. More...

`#include <xmltooling/util/Threads.h>`

## Public Member Functions
virtual int | detach ()=0
| Disassociate from the thread. More...
virtual int | join (void **thread_return)=0
| Join with the thread and wait for its completion. More...
virtual int | kill (int signo)=0
| Kill the thread. More...

## Static Public Member Functions
static Thread * | create (void *(*start_routine)(void *), void *arg, size_t stacksize=0)
| Creates a new thread object to run the supplied start routine. More...
static void | exit (void *return_val)
| Exits a thread gracefully. More...
static void | sleep (int seconds)
| Sleeps the current thread for the specified amount of time. More...
static void | mask_all_signals (void)
| Masks all signals from a thread.
static int | mask_signals (int how, const sigset_t *newmask, sigset_t *oldmask)
| Masks specific signals from a thread. More...

## Detailed Description

A class for manual thread creation and synchronization.

## Member Function Documentation

## ◆ create()

static Thread * xmltooling::Thread::create | ( | void *(*)(void *) | start_routine,
|  | void * | arg,
|  | size_t | stacksize = `0`
| ) |  |
| static

Creates a new thread object to run the supplied start routine.

Parameters

  start_routine | the function to execute on the thread
  arg | a parameter for the start routine
  stacksize | size of stack to use, or 0 for default

Returns
  the created and running thread object

## ◆ detach()

virtual int xmltooling::Thread::detach | ( |  | ) |
| pure virtual

Disassociate from the thread.

Returns
  0 for success, non-zero for failure

## ◆ exit()

static void xmltooling::Thread::exit | ( | void * | return_val | ) |
| static

Exits a thread gracefully.

Parameters

  return_val | the return value for the thread

## ◆ join()

virtual int xmltooling::Thread::join | ( | void ** | thread_return | ) |
| pure virtual

Join with the thread and wait for its completion.

Parameters

  thread_return | holds the return value of the thread routine

Returns
  0 for success, non-zero for failure

## ◆ kill()

virtual int xmltooling::Thread::kill | ( | int | signo | ) |
| pure virtual

Kill the thread.

Parameters

  signo | the signal to send to the thread

Returns
  0 for success, non-zero for failure

## ◆ mask_signals()

static int xmltooling::Thread::mask_signals | ( | int | how,
|  | const sigset_t * | newmask,
|  | sigset_t * | oldmask
| ) |  |
| static

Masks specific signals from a thread.

Parameters

  how |
  newmask | the new signal mask
  oldmask | the old signal mask

Returns
  0 for success, non-zero for failure

## ◆ sleep()

static void xmltooling::Thread::sleep | ( | int | seconds | ) |
| static

Sleeps the current thread for the specified amount of time.

Parameters

  seconds | time to sleep

The documentation for this class was generated from the following file:

- xmltooling/util/Threads.h