mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 10:27:35 +00:00
LibPthread: Move the pthread and semaphore implementation to LibC
This additionally adds some compatibility code to redirect linking attempts for LibPthread to LibC instead.
This commit is contained in:
parent
e156f79f53
commit
2f3b9c49a5
16 changed files with 11 additions and 159 deletions
34
Userland/Libraries/LibC/semaphore.h
Normal file
34
Userland/Libraries/LibC/semaphore.h
Normal file
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* Copyright (c) 2021, the SerenityOS developers.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <limits.h>
|
||||
#include <pthread.h>
|
||||
#include <sys/cdefs.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
typedef struct {
|
||||
uint32_t value;
|
||||
} sem_t;
|
||||
|
||||
int sem_close(sem_t*);
|
||||
int sem_destroy(sem_t*);
|
||||
int sem_getvalue(sem_t*, int*);
|
||||
int sem_init(sem_t*, int, unsigned int);
|
||||
sem_t* sem_open(char const*, int, ...);
|
||||
int sem_post(sem_t*);
|
||||
int sem_trywait(sem_t*);
|
||||
int sem_unlink(char const*);
|
||||
int sem_wait(sem_t*);
|
||||
int sem_timedwait(sem_t*, const struct timespec* abstime);
|
||||
|
||||
#define SEM_FAILED ((sem_t*)0)
|
||||
#define SEM_VALUE_MAX INT_MAX
|
||||
|
||||
__END_DECLS
|
Loading…
Add table
Add a link
Reference in a new issue