---
name: "ACE_Thread_Hook"
section: "3"
platform: "linux"
package: "libace-doc"
version: "5.0.7-4"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/ACE_Thread_Hook"
---

# ACE\_Thread\_Hook(3)

This class makes it possible to provide user-defined "start" hooks that are called before the thread entry point function is invoked.

## NAME

ACE\_Thread\_Hook -  This class makes it possible to provide user-defined "start" hooks that are called before the thread entry point function is invoked.

## SYNOPSIS

```
#include <ace/OS.h>
class ACE_Thread_Hook
{
  public:
    virtual void *start (ACE_THR_FUNC func, void *arg);
    static ACE_Thread_Hook *thread_hook (ACE_Thread_Hook *hook);
    static ACE_Thread_Hook *thread_hook (void);
};
```

## PUBLIC MEMBERS

```
virtual void *start (ACE_THR_FUNC func, void *arg);
```

This method can be overridden in a subclass to customize this pre-function call "hook" invocation that can perform initialization processing before the thread entry point func method is called back.  The func and arg passed into the start hook are the same as those passed by the application that spawned the thread.

```
static ACE_Thread_Hook *thread_hook (ACE_Thread_Hook *hook);
```

sets the system wide thread hook, returns the previous thread hook or 0 if none is set.

```
static ACE_Thread_Hook *thread_hook (void);
```

Returns the current system thread hook.

## AUTHOR

Doug Schmidt schmidt@cs.wustl.edu, Jesper S. M\|ller stophph@diku.dk, and a cast of thousands...

## The ACE\_Sched\_Priority type should be used for platform-

independent thread and process priorities, by convention. int should be used for OS-specific priorities.

## typedef for the \_stat data structure

## Giving unique ACE scoped names for some important

RTSignal-Related constants. Becuase sometimes, different platforms use different names for these constants.

## LIBRARY

ace
