---
name: "pthread_mutexattr_setkind_np"
section: "3"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/pthread_mutexattr_setkind_np"
---

# pthread\_mutexattr\_setkind\_np(3)

deprecated mutex creation attributes

## NAME

pthread\_mutexattr\_setkind\_np, pthread\_mutexattr\_getkind\_np - deprecated mutex creation attributes

## SYNOPSIS

```
#include <pthread.h>
```

**int pthread\_mutexattr\_setkind\_np(pthread\_mutexattr\_t \****attr***, int** *kind***);** **int pthread\_mutexattr\_getkind\_np(const pthread\_mutexattr\_t \****attr***,**                                  **int \****kind***);**

## DESCRIPTION

These functions are deprecated, use [**pthread\_mutexattr\_settype**(3)](/pthread_mutexattr_settype/3.md) and [**pthread\_mutexattr\_gettype**(3)](/pthread_mutexattr_gettype/3.md) instead.

## RETURN VALUE

**pthread\_mutexattr\_getkind\_np**() always returns 0.

**pthread\_mutexattr\_setkind\_np**() returns 0 on success and a non-zero error code on error.

## ERRORS

On error, **pthread\_mutexattr\_setkind\_np**() returns the following error code:

- **EINVAL**

  *kind* is neither **PTHREAD\_MUTEX\_FAST\_NP** nor **PTHREAD\_MUTEX\_RECURSIVE\_NP** nor **PTHREAD\_MUTEX\_ERRORCHECK\_NP**.

## SEE ALSO

[**pthread\_mutexattr\_settype**(3)](/pthread_mutexattr_settype/3.md), [**pthread\_mutexattr\_gettype**(3)](/pthread_mutexattr_gettype/3.md).
