mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-07 19:58:30 +00:00
Fix bugs and make code tinier
- Fixed bug where stdio eof wasn't being sticky - Fixed bug where fseeko() wasn't clearing eof state - Removed assert() usage from libc favoring _unassert() / _npassert()
This commit is contained in:
parent
9b7c8db846
commit
d5910e2673
115 changed files with 510 additions and 290 deletions
|
@ -56,14 +56,14 @@ errno_t pthread_once(pthread_once_t *once, void init(void)) {
|
|||
memory_order_acquire,
|
||||
memory_order_relaxed)) {
|
||||
init();
|
||||
atomic_store(&once->_lock, FINISHED);
|
||||
atomic_store_explicit(&once->_lock, FINISHED, memory_order_release);
|
||||
return 0;
|
||||
}
|
||||
// fallthrough
|
||||
case CALLING:
|
||||
do {
|
||||
pthread_yield();
|
||||
} while (atomic_load_explicit(&once->_lock, memory_order_relaxed) ==
|
||||
} while (atomic_load_explicit(&once->_lock, memory_order_acquire) ==
|
||||
CALLING);
|
||||
return 0;
|
||||
case FINISHED:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue