---
name: "ACE_At_Thread_Exit"
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_At_Thread_Exit"
---

# ACE\_At\_Thread\_Exit(3)

Contains a method to be applied when a thread is terminated.

## NAME

ACE\_At\_Thread\_Exit -  Contains a method to be applied when a thread is terminated.

## SYNOPSIS

```
#include <ace/Thread_Manager.h>
class ACE_At_Thread_Exit
{
  public:
    friend class ACE_Thread_Descriptor;
    friend class ACE_Thread_Manager;
    ACE_At_Thread_Exit (void);
    virtual ~ACE_At_Thread_Exit (void);
    int is_owner (void) const;
    int is_owner (int owner);
    int was_applied (void) const;
    int was_applied (int applied);
  protected:
    ACE_At_Thread_Exit *next_;
    void do_apply (void);
    virtual void apply (void) = 0;
    ACE_Thread_Descriptor* td_;
    int was_applied_;
    int is_owner_;
};
```

## PUBLIC MEMBERS

```
friend class ACE_Thread_Descriptor;
```

```
friend class ACE_Thread_Manager;
```

```
ACE_At_Thread_Exit (void);
```

```
virtual ~ACE_At_Thread_Exit (void);
```

```
int is_owner (void) const;
```

```
int is_owner (int owner);
```

```
int was_applied (void) const;
```

```
int was_applied (int applied);
```

## PROTECTED MEMBERS

```
ACE_At_Thread_Exit *next_;
```

The next At\_Thread\_Exit hook in the list.

```
void do_apply (void);
```

```
virtual void apply (void) = 0;
```

The apply method.

```
ACE_Thread_Descriptor* td_;
```

The Thread\_Descriptor where this at is registered.

```
int was_applied_;
```

The at was applied?

```
int is_owner_;
```

The at has the ownership of this?

## AUTHOR

Doug Schmidt

## LIBRARY

ace
