mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-01-31 03:27:39 +00:00
Graduate some clock_gettime() constants to #define
- CLOCK_THREAD_CPUTIME_ID - CLOCK_PROCESS_CPUTIME_ID Cosmo now supports the above constants universally across supported OSes therefore it's now safe to let programs detect their presence w/ #ifdefs
This commit is contained in:
parent
c83ec5fdd9
commit
3de6632be6
4 changed files with 8 additions and 7 deletions
|
@ -402,8 +402,8 @@ arises in the fact that our Linux-flavored GCC and Clang toolchains
|
|||
producing TLS instructions that use the %fs convention.
|
||||
|
||||
To solve these challenges, the `cosmocc` compiler will rewrite binary
|
||||
objects after they've been compiled by GCC, so that `%gs` register is
|
||||
used, rather than `%fs`. Morphing x86-64 binaries after they've been
|
||||
objects after they've been compiled by GCC, so that the `%gs` register
|
||||
is used, rather than `%fs`. Morphing x86-64 binaries after they've been
|
||||
compiled is normally difficult, due to the complexity of the machine
|
||||
instruction language. However GCC provides `-mno-tls-direct-seg-refs`
|
||||
which greatly reduces the complexity of this task. This flag forgoes
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
* Thunks free() if it's linked, otherwise do nothing.
|
||||
*/
|
||||
void _weakfree(void *p) {
|
||||
if (_weaken(free)) {
|
||||
if (_weaken(free))
|
||||
_weaken(free)(p);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,7 +24,9 @@ extern const int CLOCK_UPTIME_PRECISE;
|
|||
|
||||
COSMOPOLITAN_C_END_
|
||||
|
||||
#define CLOCK_REALTIME 0
|
||||
#define CLOCK_MONOTONIC CLOCK_MONOTONIC
|
||||
#define CLOCK_REALTIME 0
|
||||
#define CLOCK_MONOTONIC CLOCK_MONOTONIC
|
||||
#define CLOCK_PROCESS_CPUTIME_ID CLOCK_PROCESS_CPUTIME_ID
|
||||
#define CLOCK_THREAD_CPUTIME_ID CLOCK_THREAD_CPUTIME_ID
|
||||
|
||||
#endif /* COSMOPOLITAN_LIBC_SYSV_CONSTS_CLOCK_H_ */
|
||||
|
|
|
@ -118,7 +118,7 @@ void _pthread_decimate(bool annihilation_only) {
|
|||
if (status != kPosixThreadZombie)
|
||||
break; // zombies only exist at the end of the linked list
|
||||
if (atomic_load_explicit(&pt->tib->tib_tid, memory_order_acquire))
|
||||
continue; // undead thread should that'll stop existing soon
|
||||
continue; // undead thread that should stop existing soon
|
||||
dll_remove(&_pthread_list, e);
|
||||
dll_make_first(&list, e);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue