* Added pthread_setconcurrency(), and pthread_getconcurrency() functions.
* Since we use a 1:1 mapping, they don't do anything besides remembering the level set, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24855 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -163,6 +163,8 @@ extern void pthread_exit(void *value_ptr);
|
|||||||
extern int pthread_join(pthread_t thread, void **_value);
|
extern int pthread_join(pthread_t thread, void **_value);
|
||||||
extern pthread_t pthread_self(void);
|
extern pthread_t pthread_self(void);
|
||||||
extern int pthread_kill(pthread_t thread, int sig);
|
extern int pthread_kill(pthread_t thread, int sig);
|
||||||
|
extern int pthread_getconcurrency(void);
|
||||||
|
extern int pthread_setconcurrency(int newLevel);
|
||||||
|
|
||||||
extern int pthread_cancel(pthread_t thread);
|
extern int pthread_cancel(pthread_t thread);
|
||||||
extern int pthread_setcancelstate(int state, int *_oldState);
|
extern int pthread_setcancelstate(int state, int *_oldState);
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ static const pthread_attr pthread_attr_default = {
|
|||||||
|
|
||||||
|
|
||||||
static int32 sPthreadSlot = -1;
|
static int32 sPthreadSlot = -1;
|
||||||
|
static int sConcurrencyLevel;
|
||||||
|
|
||||||
|
|
||||||
struct pthread_thread *
|
struct pthread_thread *
|
||||||
@@ -157,3 +158,20 @@ pthread_detach(pthread_t thread)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int
|
||||||
|
pthread_getconcurrency(void)
|
||||||
|
{
|
||||||
|
return sConcurrencyLevel;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int
|
||||||
|
pthread_setconcurrency(int newLevel)
|
||||||
|
{
|
||||||
|
if (newLevel < 0)
|
||||||
|
return EINVAL;
|
||||||
|
|
||||||
|
sConcurrencyLevel = newLevel;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user