diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-09-17 19:15:35 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-09-17 19:15:35 +0000 |
commit | 9ba96eda70ecf6f86f74580b23fc387d8fd1cd77 (patch) | |
tree | 2fbd299d3783466a5186ea5b071530601c56ac18 /nptl/sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c | |
parent | 06f6ca9019897f5d1799c0ae8d7293ed249c0f97 (diff) | |
download | glibc-9ba96eda70ecf6f86f74580b23fc387d8fd1cd77.tar glibc-9ba96eda70ecf6f86f74580b23fc387d8fd1cd77.tar.gz glibc-9ba96eda70ecf6f86f74580b23fc387d8fd1cd77.tar.bz2 glibc-9ba96eda70ecf6f86f74580b23fc387d8fd1cd77.zip |
Update.
* elf/Makefile (distribute): Add tst-alignmod.c.
(tests): Add tst-align.
(modules-names): Add tst-alignmod.
(CFLAGS-tst-align.c, CFLAGS-tst-alignmod.c): Add
$(stack-align-test-flags).
($(objpfx)tst-align): Depend on libdl.
($(objpfx)tst-align.out): Depend on tst-alignmod.so.
* elf/tst-align.c: New file.
* elf/tst-alignmod.c: New file.
* misc/Makefile (CFLAGS-tst-tsearch.c): Add $(stack-align-test-flags).
* misc/tst-tsearch.c: Include tst-stack-align.h.
(stack_align_check): New array.
(cmp_fn, walk_action): Use TEST_STACK_ALIGN ().
(main): Report error if stack was not enough aligned
in cmp_fn or walk_action.
* stdlib/Makefile (CFLAGS-tst-qsort.c): Add $(stack-align-test-flags).
* stdlib/tst-qsort.c: Include tst-stack-align.h.
(align_check): New var.
(compare): Use TEST_STACK_ALIGN () macro.
(main): Report error if stack was not enough aligned in compare.
* sysdeps/i386/i686/Makefile (stack-align-test-flags): Remove
unneeded -mpreferred-stack-boundary=4.
* sysdeps/x86_64/tst-stack-align.h: New file.
* libio/memstream.c (_IO_wmem_jumps): Remove unused structure.
(_IO_wmem_sync, _IO_wmem_finish): Remove unused functions.
2003-09-17 Philip Blundell <philb@gnu.org>
* sysdeps/arm/dl-machine.h (CALL_ROUTINE): Deleted.
(BX): Define.
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Optimise a little.
* sysdeps/arm/sysdep.h (DO_RET): New.
* sysdeps/unix/sysv/linux/arm/vfork.S: Add #error if __NR_vfork
required but not defined. Improve test of error code.
2003-09-17 Jakub Jelinek <jakub@redhat.com>
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c b/nptl/sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c index f25ccb213e..de8f54fb97 100644 --- a/nptl/sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c +++ b/nptl/sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c @@ -34,14 +34,22 @@ pthread_attr_setaffinity_np (attr, cpuset) assert (sizeof (*attr) >= sizeof (struct pthread_attr)); iattr = (struct pthread_attr *) attr; - if (iattr->cpuset == NULL) + if (cpuset == NULL) { - iattr->cpuset = (cpu_set_t *) malloc (sizeof (cpu_set_t)); - if (iattr->cpuset == NULL) - return ENOMEM; + free (iattr->cpuset); + iattr->cpuset = NULL; } + else + { + if (iattr->cpuset == NULL) + { + iattr->cpuset = (cpu_set_t *) malloc (sizeof (cpu_set_t)); + if (iattr->cpuset == NULL) + return ENOMEM; + } - memcpy (iattr->cpuset, cpuset, sizeof (cpu_set_t)); + memcpy (iattr->cpuset, cpuset, sizeof (cpu_set_t)); + } return 0; } |