1 /*
2 * condvar_attr_destroy.c
3 *
4 * Description:
5 * This translation unit implements condition variables and their primitives.
6 *
7 *
8 * --------------------------------------------------------------------------
9 *
10 * Pthreads-embedded (PTE) - POSIX Threads Library for embedded systems
11 * Copyright(C) 2008 Jason Schmidlapp
12 *
13 * Contact Email: jschmidlapp@users.sourceforge.net
14 *
15 *
16 * Based upon Pthreads-win32 - POSIX Threads Library for Win32
17 * Copyright(C) 1998 John E. Bossom
18 * Copyright(C) 1999,2005 Pthreads-win32 contributors
19 *
20 * Contact Email: rpj@callisto.canberra.edu.au
21 *
22 * The original list of contributors to the Pthreads-win32 project
23 * is contained in the file CONTRIBUTORS.ptw32 included with the
24 * source code distribution. The list can also be seen at the
25 * following World Wide Web location:
26 * http://sources.redhat.com/pthreads-win32/contributors.html
27 *
28 * This library is free software; you can redistribute it and/or
29 * modify it under the terms of the GNU Lesser General Public
30 * License as published by the Free Software Foundation; either
31 * version 2 of the License, or (at your option) any later version.
32 *
33 * This library is distributed in the hope that it will be useful,
34 * but WITHOUT ANY WARRANTY; without even the implied warranty of
35 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
36 * Lesser General Public License for more details.
37 *
38 * You should have received a copy of the GNU Lesser General Public
39 * License along with this library in the file COPYING.LIB;
40 * if not, write to the Free Software Foundation, Inc.,
41 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
42 */
43
44 #include <stdlib.h>
45
46 #include "pthread.h"
47 #include "implement.h"
48
49
50 int
pthread_condattr_destroy(pthread_condattr_t * attr)51 pthread_condattr_destroy (pthread_condattr_t * attr)
52 /*
53 * ------------------------------------------------------
54 * DOCPUBLIC
55 * Destroys a condition variable attributes object.
56 * The object can no longer be used.
57 *
58 * PARAMETERS
59 * attr
60 * pointer to an instance of pthread_condattr_t
61 *
62 *
63 * DESCRIPTION
64 * Destroys a condition variable attributes object.
65 * The object can no longer be used.
66 *
67 * NOTES:
68 * 1) Does not affect condition variables created
69 * using 'attr'
70 *
71 * RESULTS
72 * 0 successfully released attr,
73 * EINVAL 'attr' is invalid.
74 *
75 * ------------------------------------------------------
76 */
77 {
78 int result = 0;
79
80 if (attr == NULL || *attr == NULL)
81 {
82 result = EINVAL;
83 }
84 else
85 {
86 (void) free (*attr);
87
88 *attr = NULL;
89 result = 0;
90 }
91
92 return result;
93
94 } /* pthread_condattr_destroy */
95