[Prev] [Contents] [Next]

pthread_attr_destroy()--Destroy a Thread Attributes Object

Syntax

#include <pthread.h>
int pthread_attr_destroy(pthread_attr_t *attr);
Threadsafe: Yes
Signal Safe: Yes

The pthread_attr_destroy() function destroys a thread attributes object and allows the system to reclaim any resources associated with that thread attributes object. This doesn't have an effect on any threads created using this thread attributes object.

Parameters

attr
(Input) The address of the thread attributes object to be destroyed

Authorities and Locks

None.

Return Value

0
pthread_attr_destroy() was successful.
value
pthread_attr_destroy() was not successful. value is set to indicate the error condition.

Error Conditions

If pthread_attr_destroy() was not successful, the error condition returned usually indicates one of the following errors. Under some conditions, the value returned could indicate an error other than those listed here.

[EINVAL]
Invalid Argument Specified

Related Information

Example

#define _MULTI_THREADED
#include <pthread.h>
#include <stdio.h>
#include "check.h"

void *threadfunc(void *parm)
{
  printf("Thread created using an default attributes\n");
  return NULL;
}

int main(int argc, char **argv)
{
  pthread_t             thread;
  int                   rc=0;
  pthread_attr_t        pta;

  printf("Enter Testcase - %s\n", argv[0]);

  printf("Create a thread attributes object\n");
  rc = pthread_attr_init(&pta);
  checkResults("pthread_attr_init()\n", rc);

  printf("Create a thread using the attributes object\n");
  rc = pthread_create(&thread, &pta, threadfunc, NULL);
  checkResults("pthread_create()\n", rc);

  printf("Create a thread using the default attributes\n");
  rc = pthread_create(&thread, NULL, threadfunc, NULL);
  checkResults("pthread_create()\n", rc);

  printf("Destroy thread attributes object\n");
  rc = pthread_attr_destroy(&pta);
  checkResults("pthread_attr_destroy()\n", rc);

  /* sleep() isn't a very robust way to wait for the thread */
  sleep(5);

  printf("Main completed\n");
  return 0;
}

Output

Enter Testcase - QP0WTEST/TAINI0
Create a thread attributes object
Create a thread using the attributes object
Create a thread using the default attributes
Destroy thread attributes object
Thread created using an default attributes
Thread created using an default attributes
Main completed



[Prev] [Contents] [Next]
Copyright © 1998, IBM Corporation. All rights reserved.
Comments? Contact
rchthrds@us.ibm.com