mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
Update.
2004-05-10 Jakub Jelinek <jakub@redhat.com> * sysdeps/posix/sysconf.c (__sysconf) <cases _SC_REALTIME_SIGNALS, _SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO, _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC, _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE, _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS, _SC_THREADS, _SC_THREAD_SAFE_FUNCTIONS, _SC_THREAD_ATTR_STACKADDR, _SC_THREAD_ATTR_STACKSIZE, _SC_THREAD_PRIORITY_SCHEDULING, _SC_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_PROTECT, _SC_THREAD_PROCESS_SHARED>: Return _POSIX_* value instead of 1. * sysdeps/unix/sysv/linux/sysconf.c (__sysconf) <case _SC_MONOTONIC_CLOCK>: Return _POSIX_VERSION instead of 1. 2004-05-07 Jeroen Dekkers <jeroen@dekkers.cx> * sysdeps/mach/hurd/i386/Makefile (CFLAGS-init-first.c): Add -momit-leaf-frame-pointer. * inet/test-ifaddrs.c (addr_string): Surround AF_PACKET case with #ifdef AF_PACKET. * sysdeps/mach/hurd/getcwd.c (_hurd_canonicalize_directory_name_intern): Only realloc when size is <= 0. * sysdeps/mach/hurd/mmap.c (__mmap): Fail when addr or offset isn't page aligned. * sysdeps/mach/hurd/spawni.c (EXPAND_DTABLE): Set dtablesize to new size. * sysdeps/mach/hurd/Versions (GLIBC_PRIVATE): Add __libc_read, __libc_write and __libc_lseek64.
This commit is contained in:
parent
016deb4c4f
commit
fbf86ddab2
35
ChangeLog
35
ChangeLog
@ -1,3 +1,38 @@
|
||||
2004-05-10 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* sysdeps/posix/sysconf.c (__sysconf) <cases _SC_REALTIME_SIGNALS,
|
||||
_SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO,
|
||||
_SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC, _SC_MAPPED_FILES,
|
||||
_SC_MEMLOCK, _SC_MEMLOCK_RANGE, _SC_MEMORY_PROTECTION,
|
||||
_SC_MESSAGE_PASSING, _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS,
|
||||
_SC_THREADS, _SC_THREAD_SAFE_FUNCTIONS, _SC_THREAD_ATTR_STACKADDR,
|
||||
_SC_THREAD_ATTR_STACKSIZE, _SC_THREAD_PRIORITY_SCHEDULING,
|
||||
_SC_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_PROTECT,
|
||||
_SC_THREAD_PROCESS_SHARED>: Return _POSIX_* value instead of 1.
|
||||
* sysdeps/unix/sysv/linux/sysconf.c (__sysconf)
|
||||
<case _SC_MONOTONIC_CLOCK>: Return _POSIX_VERSION instead of 1.
|
||||
|
||||
2004-05-07 Jeroen Dekkers <jeroen@dekkers.cx>
|
||||
|
||||
* sysdeps/mach/hurd/i386/Makefile (CFLAGS-init-first.c): Add
|
||||
-momit-leaf-frame-pointer.
|
||||
|
||||
* inet/test-ifaddrs.c (addr_string): Surround AF_PACKET case with
|
||||
#ifdef AF_PACKET.
|
||||
|
||||
* sysdeps/mach/hurd/getcwd.c
|
||||
(_hurd_canonicalize_directory_name_intern): Only realloc when
|
||||
size is <= 0.
|
||||
|
||||
* sysdeps/mach/hurd/mmap.c (__mmap): Fail when addr or offset
|
||||
isn't page aligned.
|
||||
|
||||
* sysdeps/mach/hurd/spawni.c (EXPAND_DTABLE): Set dtablesize to
|
||||
new size.
|
||||
|
||||
* sysdeps/mach/hurd/Versions (GLIBC_PRIVATE): Add __libc_read,
|
||||
__libc_write and __libc_lseek64.
|
||||
|
||||
2004-05-29 Roland McGrath <roland@redhat.com>
|
||||
|
||||
* elf/Makefile (shared-only-routines): Add dl-caller.
|
||||
|
@ -48,8 +48,10 @@ addr_string (struct sockaddr *sa, char *buf, size_t size)
|
||||
case AF_UNSPEC:
|
||||
return "---";
|
||||
|
||||
#ifdef AF_PACKET
|
||||
case AF_PACKET:
|
||||
return "<packet>";
|
||||
#endif
|
||||
|
||||
default:
|
||||
++failures;
|
||||
|
@ -1,3 +1,20 @@
|
||||
2004-06-01 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||||
|
||||
* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h (pthread_cond_t):
|
||||
Add __broadcast_seq field.
|
||||
* sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S: Mark
|
||||
all waiters as woken with woken_seq and bump broadcast counter.
|
||||
* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Use new
|
||||
__broadcast_seq. Increment __woken_seq correctly when cleanuped.
|
||||
* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.
|
||||
Comment typo fixes. Avoid returning -ETIMEDOUT.
|
||||
|
||||
2004-06-01 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
|
||||
(__condvar_tw_cleanup): Fix access to saved broadcast_seq value.
|
||||
Reported by Kaz Kojima.
|
||||
|
||||
2004-05-25 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/aio_misc.h: New file.
|
||||
|
@ -82,6 +82,7 @@ typedef union
|
||||
unsigned long long int __wakeup_seq;
|
||||
unsigned long long int __woken_seq;
|
||||
void *__mutex;
|
||||
unsigned int __broadcast_seq;
|
||||
} __data;
|
||||
char __size[__SIZEOF_PTHREAD_COND_T];
|
||||
long long int __align;
|
||||
|
@ -67,6 +67,11 @@ __pthread_cond_broadcast:
|
||||
woken up. */
|
||||
mov.l r1, @(wakeup_seq,r8)
|
||||
mov.l r0, @(wakeup_seq+4,r8)
|
||||
mov.l r1, @(woken_seq,r8)
|
||||
mov.l r0, @(woken_seq+4,r8)
|
||||
mov.l @(broadcast_seq,r8), r2
|
||||
add #1, r2
|
||||
mov.l r2, @(broadcast_seq,r8)
|
||||
|
||||
/* Get the address of the mutex used. */
|
||||
mov.l @(dep_mutex,r8), r9
|
||||
|
@ -114,6 +114,8 @@ __pthread_cond_timedwait:
|
||||
/* Get and store current wakeup_seq value. */
|
||||
mov.l @(wakeup_seq,r8), r10
|
||||
mov.l @(wakeup_seq+4,r8), r11
|
||||
mov.l @(broadcast_seq,r8), r0
|
||||
mov.l r0, @(4,r15)
|
||||
|
||||
8:
|
||||
/* Get current time. */
|
||||
@ -140,8 +142,10 @@ __pthread_cond_timedwait:
|
||||
add r1, r3
|
||||
add #-1, r2
|
||||
12:
|
||||
mov #-ETIMEDOUT, r1
|
||||
mov.l r1, @(12,r15)
|
||||
cmp/pz r2
|
||||
bf 13f /* Time is already up. */
|
||||
bf 6f /* Time is already up. */
|
||||
|
||||
/* Store relative timeout. */
|
||||
mov.l r2, @(16,r15)
|
||||
@ -193,6 +197,11 @@ __pthread_cond_timedwait:
|
||||
#endif
|
||||
bf 5f
|
||||
6:
|
||||
mov.l @(broadcast_seq,r8), r0
|
||||
mov.l @(4,r15), r1
|
||||
cmp/eq r0, r1
|
||||
bf 23f
|
||||
|
||||
mov.l @(woken_seq,r8), r0
|
||||
mov.l @(woken_seq+4,r8), r1
|
||||
|
||||
@ -212,7 +221,7 @@ __pthread_cond_timedwait:
|
||||
mov.l @(12,r15),r0
|
||||
cmp/eq #-ETIMEDOUT, r0
|
||||
bf 8b
|
||||
13:
|
||||
|
||||
mov #1, r2
|
||||
mov #0, r3
|
||||
|
||||
@ -227,6 +236,11 @@ __pthread_cond_timedwait:
|
||||
bra 14f
|
||||
mov.l r0, @(24,r15)
|
||||
|
||||
23:
|
||||
mov #0, r0
|
||||
bra 24f
|
||||
mov.l r0, @(24,r15)
|
||||
|
||||
9:
|
||||
mov #0, r0
|
||||
mov.l r0, @(24,r15)
|
||||
@ -242,6 +256,7 @@ __pthread_cond_timedwait:
|
||||
mov.l r0,@(woken_seq,r8)
|
||||
mov.l r1,@(woken_seq+4,r8)
|
||||
|
||||
24:
|
||||
#if cond_lock != 0
|
||||
DEC (@(cond_lock,r8), r2)
|
||||
#else
|
||||
@ -301,7 +316,7 @@ __pthread_cond_timedwait:
|
||||
nop
|
||||
|
||||
3:
|
||||
/* Unlock in loop requires waekup. */
|
||||
/* Unlock in loop requires wakeup. */
|
||||
mov r8, r4
|
||||
#if cond_lock != 0
|
||||
add #cond_lock, r4
|
||||
@ -327,7 +342,7 @@ __pthread_cond_timedwait:
|
||||
nop
|
||||
|
||||
10:
|
||||
/* Unlock after loop requires waekup. */
|
||||
/* Unlock after loop requires wakeup. */
|
||||
mov r8, r4
|
||||
#if cond_lock != 0
|
||||
add #cond_lock, r4
|
||||
@ -403,6 +418,11 @@ __condvar_tw_cleanup:
|
||||
.Lmwait5b:
|
||||
|
||||
1:
|
||||
mov.l @(broadcast_seq,r8), r0
|
||||
mov.l @(4,r15), r1
|
||||
cmp/eq r0, r1
|
||||
bf 3f
|
||||
|
||||
mov #1, r2
|
||||
mov #0, r3
|
||||
|
||||
@ -414,6 +434,15 @@ __condvar_tw_cleanup:
|
||||
mov.l r0,@(wakeup_seq,r8)
|
||||
mov.l r1,@(wakeup_seq+4,r8)
|
||||
|
||||
clrt
|
||||
mov.l @(woken_seq,r8),r0
|
||||
mov.l @(woken_seq+4,r8),r1
|
||||
addc r2, r0
|
||||
addc r3, r1
|
||||
mov.l r0,@(woken_seq,r8)
|
||||
mov.l r1,@(woken_seq+4,r8)
|
||||
|
||||
3:
|
||||
#if cond_lock != 0
|
||||
DEC (@(cond_lock,r8), r2)
|
||||
#else
|
||||
|
@ -108,6 +108,8 @@ __pthread_cond_wait:
|
||||
/* Get and store current wakeup_seq value. */
|
||||
mov.l @(wakeup_seq,r8), r10
|
||||
mov.l @(wakeup_seq+4,r8), r11
|
||||
mov.l @(broadcast_seq,r8), r0
|
||||
mov.l r0, @(4,r15)
|
||||
|
||||
8:
|
||||
/* Unlock. */
|
||||
@ -152,6 +154,11 @@ __pthread_cond_wait:
|
||||
#endif
|
||||
bf 5f
|
||||
6:
|
||||
mov.l @(broadcast_seq,r8), r0
|
||||
mov.l @(4,r15), r1
|
||||
cmp/eq r0, r1
|
||||
bf 16f
|
||||
|
||||
mov.l @(woken_seq,r8), r0
|
||||
mov.l @(woken_seq+4,r8), r1
|
||||
|
||||
@ -179,6 +186,7 @@ __pthread_cond_wait:
|
||||
mov.l r0,@(woken_seq,r8)
|
||||
mov.l r1,@(woken_seq+4,r8)
|
||||
|
||||
16:
|
||||
#if cond_lock != 0
|
||||
DEC (@(cond_lock,r8), r2)
|
||||
#else
|
||||
@ -330,6 +338,11 @@ __condvar_w_cleanup:
|
||||
.Lmwait3b:
|
||||
|
||||
1:
|
||||
mov.l @(broadcast_seq,r8), r0
|
||||
mov.l @(4,r15), r1
|
||||
cmp/eq r0, r1
|
||||
bf 3f
|
||||
|
||||
mov #1, r2
|
||||
mov #0, r3
|
||||
|
||||
@ -341,6 +354,15 @@ __condvar_w_cleanup:
|
||||
mov.l r0,@(wakeup_seq,r8)
|
||||
mov.l r1,@(wakeup_seq+4,r8)
|
||||
|
||||
clrt
|
||||
mov.l @(woken_seq,r8),r0
|
||||
mov.l @(woken_seq+4,r8),r1
|
||||
addc r2, r0
|
||||
addc r3, r1
|
||||
mov.l r0,@(woken_seq,r8)
|
||||
mov.l r1,@(woken_seq+4,r8)
|
||||
|
||||
3:
|
||||
#if cond_lock != 0
|
||||
DEC (@(cond_lock,r8), r2)
|
||||
#else
|
||||
|
@ -4,6 +4,9 @@ libc {
|
||||
__getcwd; __mmap;
|
||||
}
|
||||
GLIBC_PRIVATE {
|
||||
# Functions shared with the dynamic linker
|
||||
__libc_read; __libc_write; __libc_lseek64;
|
||||
|
||||
_dl_init_first;
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991,92,93,94,95,96,97,98,2002 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991,92,93,94,95,96,97,98,2002,04 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -50,6 +50,7 @@ _hurd_canonicalize_directory_name_internal (file_t thisdir,
|
||||
file_t parent;
|
||||
char *dirbuf = NULL;
|
||||
unsigned int dirbufsize = 0;
|
||||
const size_t orig_size = size;
|
||||
|
||||
inline void cleanup (void)
|
||||
{
|
||||
@ -67,7 +68,7 @@ _hurd_canonicalize_directory_name_internal (file_t thisdir,
|
||||
}
|
||||
|
||||
|
||||
if (size == 0)
|
||||
if (size <= 0)
|
||||
{
|
||||
if (buf != NULL)
|
||||
{
|
||||
@ -226,7 +227,7 @@ _hurd_canonicalize_directory_name_internal (file_t thisdir,
|
||||
|
||||
if (file_namep - file_name < d->d_namlen + 1)
|
||||
{
|
||||
if (buf != NULL)
|
||||
if (orig_size > 0)
|
||||
{
|
||||
errno = ERANGE;
|
||||
return NULL;
|
||||
|
@ -3,3 +3,6 @@ sysdep_routines += ioperm
|
||||
sysdep_headers += sys/io.h
|
||||
endif
|
||||
|
||||
ifeq ($(subdir),csu)
|
||||
CFLAGS-init-first.c += -momit-leaf-frame-pointer
|
||||
endif
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1994,1995,1996,1997,1999,2002,2003
|
||||
/* Copyright (C) 1994,1995,1996,1997,1999,2002,2003,2004
|
||||
Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -39,10 +39,13 @@ __mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset)
|
||||
vm_prot_t vmprot;
|
||||
memory_object_t memobj;
|
||||
vm_address_t mapaddr;
|
||||
vm_size_t pageoff;
|
||||
|
||||
mapaddr = (vm_address_t) addr;
|
||||
|
||||
/* ADDR and OFFSET must be page-aligned. */
|
||||
if ((mapaddr & (vm_page_size - 1)) || (offset & (vm_page_size - 1)))
|
||||
return (__ptr_t) (long int) __hurd_fail (EINVAL);
|
||||
|
||||
if ((flags & (MAP_TYPE|MAP_INHERIT)) == MAP_ANON
|
||||
&& prot == (PROT_READ|PROT_WRITE)) /* cf VM_PROT_DEFAULT */
|
||||
{
|
||||
@ -62,20 +65,6 @@ __mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset)
|
||||
return err ? (__ptr_t) (long int) __hurd_fail (err) : (__ptr_t) mapaddr;
|
||||
}
|
||||
|
||||
pageoff = offset & (vm_page_size - 1);
|
||||
offset &= ~(vm_page_size - 1);
|
||||
|
||||
if (flags & MAP_FIXED)
|
||||
{
|
||||
/* A specific address is requested. It need not be page-aligned;
|
||||
it just needs to be congruent with the object offset. */
|
||||
if ((mapaddr & (vm_page_size - 1)) != pageoff)
|
||||
return (__ptr_t) (long int) __hurd_fail (EINVAL);
|
||||
else
|
||||
/* We will add back PAGEOFF after mapping. */
|
||||
mapaddr -= pageoff;
|
||||
}
|
||||
|
||||
vmprot = VM_PROT_NONE;
|
||||
if (prot & PROT_READ)
|
||||
vmprot |= VM_PROT_READ;
|
||||
@ -173,9 +162,6 @@ __mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset)
|
||||
if (err)
|
||||
return (__ptr_t) (long int) __hurd_fail (err);
|
||||
|
||||
/* Adjust the mapping address for the offset-within-page. */
|
||||
mapaddr += pageoff;
|
||||
|
||||
return (__ptr_t) mapaddr;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* spawn a new process running an executable. Hurd version.
|
||||
Copyright (C) 2001,02 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001,02,04 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -399,6 +399,7 @@ __spawni (pid_t *pid, const char *file,
|
||||
NEW_TABLE (dtable, newfd); \
|
||||
NEW_TABLE (ulink_dtable, newfd); \
|
||||
NEW_TABLE (dtable_cells, newfd); \
|
||||
dtablesize = newfd + 1; \
|
||||
} \
|
||||
((unsigned int)newfd < dtablesize ? 0 : EMFILE); \
|
||||
})
|
||||
@ -592,7 +593,7 @@ __spawni (pid_t *pid, const char *file,
|
||||
case ESTALE:
|
||||
case ENOTDIR:
|
||||
/* Those errors indicate the file is missing or not executable
|
||||
v by us, in which case we want to just try the next path
|
||||
by us, in which case we want to just try the next path
|
||||
directory. */
|
||||
continue;
|
||||
|
||||
|
@ -97,98 +97,98 @@ __sysconf (name)
|
||||
|
||||
case _SC_REALTIME_SIGNALS:
|
||||
#ifdef _POSIX_REALTIME_SIGNALS
|
||||
return 1;
|
||||
return _POSIX_REALTIME_SIGNALS;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
case _SC_PRIORITY_SCHEDULING:
|
||||
#ifdef _POSIX_PRIORITY_SCHEDULING
|
||||
return 1;
|
||||
return _POSIX_PRIORITY_SCHEDULING;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
case _SC_TIMERS:
|
||||
#ifdef _POSIX_TIMERS
|
||||
return 1;
|
||||
return _POSIX_TIMERS;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
case _SC_ASYNCHRONOUS_IO:
|
||||
#ifdef _POSIX_ASYNCHRONOUS_IO
|
||||
return 1;
|
||||
return _POSIX_ASYNCHRONOUS_IO;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
case _SC_PRIORITIZED_IO:
|
||||
#ifdef _POSIX_PRIORITIZED_IO
|
||||
return 1;
|
||||
return _POSIX_PRIORITIZED_IO;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
case _SC_SYNCHRONIZED_IO:
|
||||
#ifdef _POSIX_SYNCHRONIZED_IO
|
||||
return 1;
|
||||
return _POSIX_SYNCHRONIZED_IO;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
case _SC_FSYNC:
|
||||
#ifdef _POSIX_FSYNC
|
||||
return 1;
|
||||
return _POSIX_FSYNC;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
case _SC_MAPPED_FILES:
|
||||
#ifdef _POSIX_MAPPED_FILES
|
||||
return 1;
|
||||
return _POSIX_MAPPED_FILES;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
case _SC_MEMLOCK:
|
||||
#ifdef _POSIX_MEMLOCK
|
||||
return 1;
|
||||
return _POSIX_MEMLOCK;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
case _SC_MEMLOCK_RANGE:
|
||||
#ifdef _POSIX_MEMLOCK_RANGE
|
||||
return 1;
|
||||
return _POSIX_MEMLOCK_RANGE;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
case _SC_MEMORY_PROTECTION:
|
||||
#ifdef _POSIX_MEMORY_PROTECTION
|
||||
return 1;
|
||||
return _POSIX_MEMORY_PROTECTION;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
case _SC_MESSAGE_PASSING:
|
||||
#ifdef _POSIX_MESSAGE_PASSING
|
||||
return 1;
|
||||
return _POSIX_MESSAGE_PASSING;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
case _SC_SEMAPHORES:
|
||||
#ifdef _POSIX_SEMAPHORES
|
||||
return 1;
|
||||
return _POSIX_SEMAPHORES;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
case _SC_SHARED_MEMORY_OBJECTS:
|
||||
#ifdef _POSIX_SHARED_MEMORY_OBJECTS
|
||||
return 1;
|
||||
return _POSIX_SHARED_MEMORY_OBJECTS;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
@ -507,14 +507,14 @@ __sysconf (name)
|
||||
/* POSIX 1003.1c (POSIX Threads). */
|
||||
case _SC_THREADS:
|
||||
#ifdef _POSIX_THREADS
|
||||
return 1;
|
||||
return _POSIX_THREADS;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
case _SC_THREAD_SAFE_FUNCTIONS:
|
||||
#ifdef _POSIX_THREAD_SAFE_FUNCTIONS
|
||||
return 1;
|
||||
return _POSIX_THREAD_SAFE_FUNCTIONS;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
@ -569,42 +569,42 @@ __sysconf (name)
|
||||
|
||||
case _SC_THREAD_ATTR_STACKADDR:
|
||||
#ifdef _POSIX_THREAD_ATTR_STACKADDR
|
||||
return 1;
|
||||
return _POSIX_THREAD_ATTR_STACKADDR;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
case _SC_THREAD_ATTR_STACKSIZE:
|
||||
#ifdef _POSIX_THREAD_ATTR_STACKSIZE
|
||||
return 1;
|
||||
return _POSIX_THREAD_ATTR_STACKSIZE;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
case _SC_THREAD_PRIORITY_SCHEDULING:
|
||||
#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
|
||||
return 1;
|
||||
return _POSIX_THREAD_PRIORITY_SCHEDULING;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
case _SC_THREAD_PRIO_INHERIT:
|
||||
#ifdef _POSIX_THREAD_PRIO_INHERIT
|
||||
return 1;
|
||||
return _POSIX_THREAD_PRIO_INHERIT;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
case _SC_THREAD_PRIO_PROTECT:
|
||||
#ifdef _POSIX_THREAD_PRIO_PROTECT
|
||||
return 1;
|
||||
return _POSIX_THREAD_PRIO_PROTECT;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
||||
case _SC_THREAD_PROCESS_SHARED:
|
||||
#ifdef _POSIX_THREAD_PROCESS_SHARED
|
||||
return 1;
|
||||
return _POSIX_THREAD_PROCESS_SHARED;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
|
@ -44,7 +44,7 @@ __sysconf (int name)
|
||||
INTERNAL_SYSCALL_DECL (err);
|
||||
int r;
|
||||
r = INTERNAL_SYSCALL (clock_getres, err, 2, CLOCK_MONOTONIC, &ts);
|
||||
return INTERNAL_SYSCALL_ERROR_P (r, err) ? -1 : 1;
|
||||
return INTERNAL_SYSCALL_ERROR_P (r, err) ? -1 : _POSIX_VERSION;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user