diff options
author | julian <julian@FreeBSD.org> | 1997-02-05 23:26:09 +0000 |
---|---|---|
committer | julian <julian@FreeBSD.org> | 1997-02-05 23:26:09 +0000 |
commit | c2f7c3e4893b6b5c4494d549b3645e06664bc1b1 (patch) | |
tree | b2e6d3017e236268263978b585f2150cd10b1689 /lib/libkse/thread/thr_attr_destroy.c | |
parent | 321f03c8eddd8cf5aa81836ff1932a74156d30cb (diff) | |
download | FreeBSD-src-c2f7c3e4893b6b5c4494d549b3645e06664bc1b1.zip FreeBSD-src-c2f7c3e4893b6b5c4494d549b3645e06664bc1b1.tar.gz |
Submitted by: John Birrell
uthreads update from the author.
Diffstat (limited to 'lib/libkse/thread/thr_attr_destroy.c')
-rw-r--r-- | lib/libkse/thread/thr_attr_destroy.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/libkse/thread/thr_attr_destroy.c b/lib/libkse/thread/thr_attr_destroy.c index be6b2a2..1f4b2c8 100644 --- a/lib/libkse/thread/thr_attr_destroy.c +++ b/lib/libkse/thread/thr_attr_destroy.c @@ -39,11 +39,19 @@ int pthread_attr_destroy(pthread_attr_t *attr) { int ret; - if (attr == NULL || *attr == NULL) { - errno = EINVAL; - ret = -1; - } else { + + /* Check for invalid arguments: */ + if (attr == NULL || *attr == NULL) + /* Invalid argument: */ + ret = EINVAL; + else { + /* Free the memory allocated to the attribute object: */ free(*attr); + + /* + * Leave the attribute pointer NULL now that the memory + * has been freed: + */ *attr = NULL; ret = 0; } |