source: asp3_tinet_ecnl_arm/trunk/musl-1.1.18/src/thread/pthread_getattr_np.c@ 352

Last change on this file since 352 was 352, checked in by coas-nagasima, 6 years ago

arm向けASP3版ECNLを追加

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-csrc;charset=UTF-8
File size: 576 bytes
Line 
1#define _GNU_SOURCE
2#include "pthread_impl.h"
3#include "libc.h"
4#include <sys/mman.h>
5
6int pthread_getattr_np(pthread_t t, pthread_attr_t *a)
7{
8 *a = (pthread_attr_t){0};
9 a->_a_detach = !!t->detached;
10 if (t->stack) {
11 a->_a_stackaddr = (uintptr_t)t->stack;
12 a->_a_stacksize = t->stack_size;
13 } else {
14 char *p = (void *)libc.auxv;
15 size_t l = PAGE_SIZE;
16 p += -(uintptr_t)p & PAGE_SIZE-1;
17 a->_a_stackaddr = (uintptr_t)p;
18 while (mremap(p-l-PAGE_SIZE, PAGE_SIZE, 2*PAGE_SIZE, 0)==MAP_FAILED && errno==ENOMEM)
19 l += PAGE_SIZE;
20 a->_a_stacksize = l;
21 }
22 return 0;
23}
Note: See TracBrowser for help on using the repository browser.