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.
virtual int | join (void **thread_return)=0
| Join with the thread and wait for its completion.
virtual int | kill (int signo)=0
| Kill the thread.

## 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.
static void | exit (void *return_val)
| Exits a thread gracefully.
static void | sleep (int seconds)
| Sleeps the current thread for the specified amount of time.
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.

## Detailed Description

A class for manual thread creation and synchronization.

## Member Function Documentation

## create()

static Thread * xmltooling::Thread::create | ( | void *(* | start_routine )(void *),
|  | 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