---
name: "ost_PosixThread"
section: "3"
platform: "linux"
package: "libcommoncpp2-doc"
version: "1.8.1-10"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/ost_PosixThread"
---

# ost\_PosixThread(3)

## NAME

ost::PosixThread

## SYNOPSIS

`#include <thread.h>`

Inherits **ost::Thread**.

### Public Member Functions

**PosixThread** (int pri=0, size\_t stack=0)\
 void **signalThread** (int signo)\
 Delivers a Posix signal to the current thread.

### Static Public Member Functions

static void **sigInstall** (int signo)\
 Install a signal handler for use by threads and the OnSignal() event notification handler.

### Protected Member Functions

void **signalParent** (**signo\_t** signo)\
 In the Posix version of Common C++, this can be used to send a signal into the parent thread of the current object.  void **signalMain** (**signo\_t** signo)\
 In the Posix version of Common C++, this can be used to send a signal into the main application thread.  virtual void **onTimer** (void)\
 A derivable method to call when a SIGALRM is being delivered to a specific thread.  virtual void **onHangup** (void)\
 A derived method to handle hangup events being delivered to a specific thread.  virtual void **onException** (void)\
 A derived method to call when a SIGABRT is being delivered to a specific thread.  virtual void **onDisconnect** (void)\
 A derived method to call when a SIGPIPE is being delivered to a specific thread.  virtual void **onPolling** (void)\
 A derived method to handle asynchronous I/O requests delivered to the specified thread.  virtual void **onSignal** (int)\
 A derivable method to call for delivering a signal event to a specified thread.  void **setTimer** (**timeout\_t** timer, bool periodic=false)\
 Used to specify a timeout event that can be delivered to the current thread via SIGALRM.  **timeout\_t** **getTimer** (void) const\
 Gets the time remaining for the current threads timer before it expires.  void **endTimer** (void)\
 Terminates the timer before the timeout period has expired.  void **setSignal** (int signo, bool active)\
 Used to enable or disable a signal within the current thread.  pthread\_attr\_t \* **getPthreadAttrPtr** (void)\
 Access to pthread\_attr structure this allows setting/modifying pthread attributes not covered in the platform independant **Thread** constructor, e.g.  pthread\_t **getPthreadId** (void)\
 Get pthread\_t of underlying posix thread (useful for debugging/logging)

### Friends

class **ThreadImpl**\
 class **Thread**\

### Additional Inherited Members

## Constructor & Destructor Documentation

### ost::PosixThread::PosixThread (int pri = `0`, size\_t stack = `0`)

## Member Function Documentation

### void ost::PosixThread::endTimer (void)` [protected]`

Terminates the timer before the timeout period has expired. This prevents the timer from sending it's SIGALRM and makes the timer available to other threads.

### pthread\_attr\_t\* ost::PosixThread::getPthreadAttrPtr (void)` [protected]`

Access to pthread\_attr structure this allows setting/modifying pthread attributes not covered in the platform independant **Thread** constructor, e.g. contention scope or scheduling policy

### pthread\_t ost::PosixThread::getPthreadId (void)` [protected]`

Get pthread\_t of underlying posix thread (useful for debugging/logging)

### timeout\_t ost::PosixThread::getTimer (void) const` [protected]`

Gets the time remaining for the current threads timer before it expires.

**Returns**

time remaining before timer expires in milliseconds.

### virtual void ost::PosixThread::onDisconnect (void)` [protected]`, ` [virtual]`

A derived method to call when a SIGPIPE is being delivered to a specific thread.

### virtual void ost::PosixThread::onException (void)` [protected]`, ` [virtual]`

A derived method to call when a SIGABRT is being delivered to a specific thread.

### virtual void ost::PosixThread::onHangup (void)` [protected]`, ` [virtual]`

A derived method to handle hangup events being delivered to a specific thread.

### virtual void ost::PosixThread::onPolling (void)` [protected]`, ` [virtual]`

A derived method to handle asynchronous I/O requests delivered to the specified thread.

### virtual void ost::PosixThread::onSignal (int)` [protected]`, ` [virtual]`

A derivable method to call for delivering a signal event to a specified thread.

**Parameters**

*-* posix signal id.

### virtual void ost::PosixThread::onTimer (void)` [protected]`, ` [virtual]`

A derivable method to call when a SIGALRM is being delivered to a specific thread.

### void ost::PosixThread::setSignal (int signo, bool active)` [protected]`

Used to enable or disable a signal within the current thread.

**Parameters**

*signo* posix signal id. \
 *active* set to true to enable.

### void ost::PosixThread::setTimer (timeout\_t timer, bool periodic = `false`)` [protected]`

Used to specify a timeout event that can be delivered to the current thread via SIGALRM. When the timer expires, the **onTimer()** method is called for the thread. At present, only one thread timer can be active at any given time. On some operating systems (including Linux) a timer can be active on each thread.

**Parameters**

*timer* timeout in milliseconds. \
 *periodic* should the timer be periodic.

**Note**

currently, periodic timers are only available on systems with a working setitimer call.

### static void ost::PosixThread::sigInstall (int signo)` [static]`

Install a signal handler for use by threads and the OnSignal() event notification handler.

**Parameters**

*signo* posix signal id.

### void ost::PosixThread::signalMain (signo\_t signo)` [inline]`, ` [protected]`

In the Posix version of Common C++, this can be used to send a signal into the main application thread.

**Parameters**

*signo* a posix signal id.

### void ost::PosixThread::signalParent (signo\_t signo)` [inline]`, ` [protected]`

In the Posix version of Common C++, this can be used to send a signal into the parent thread of the current object.

**Parameters**

*signo* a posix signal id.

### void ost::PosixThread::signalThread (int signo)` [inline]`

Delivers a Posix signal to the current thread.

**Parameters**

*signo* a posix signal id.

## Friends And Related Function Documentation

### friend class Thread` [friend]`

### friend class ThreadImpl` [friend]`

## Author

Generated automatically by Doxygen for GNU CommonC++ from the source code.
