summaryrefslogtreecommitdiffstats
path: root/contrib/libobjc/thr-mach.c
diff options
context:
space:
mode:
authorkan <kan@FreeBSD.org>2003-07-11 03:42:15 +0000
committerkan <kan@FreeBSD.org>2003-07-11 03:42:15 +0000
commitbb754981e6f83bc1f224dc4b7f478d80024e6c9f (patch)
treeb912048c8df69db39da9eded7043642b2854fa0d /contrib/libobjc/thr-mach.c
parentc7bbbdd036d3dd7ae253fb13c9994215af06f073 (diff)
downloadFreeBSD-src-bb754981e6f83bc1f224dc4b7f478d80024e6c9f.zip
FreeBSD-src-bb754981e6f83bc1f224dc4b7f478d80024e6c9f.tar.gz
Gcc 3.3.1-pre 2003-07-11 Objective C support bits.
Diffstat (limited to 'contrib/libobjc/thr-mach.c')
-rw-r--r--contrib/libobjc/thr-mach.c117
1 files changed, 59 insertions, 58 deletions
diff --git a/contrib/libobjc/thr-mach.c b/contrib/libobjc/thr-mach.c
index 44af0c1..e954607 100644
--- a/contrib/libobjc/thr-mach.c
+++ b/contrib/libobjc/thr-mach.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime Thread Implementation
- Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 2002 Free Software Foundation, Inc.
Contributed by Galen C. Hunt (gchunt@cs.rochester.edu)
Modified for Mach threads by Bill Bumgarner <bbum@friday.com>
Condition functions added by Mircea Oancea <mircea@first.elcom.pub.ro>
@@ -37,7 +37,8 @@ Boston, MA 02111-1307, USA. */
maximum priority downward only-- cannot be raised without superuser
privileges. Once lowered, it cannot be raised.
*/
-static int __mach_get_max_thread_priority(cthread_t t, int *base)
+static int
+__mach_get_max_thread_priority (cthread_t t, int *base)
{
thread_t threadP;
kern_return_t error;
@@ -47,10 +48,10 @@ static int __mach_get_max_thread_priority(cthread_t t, int *base)
if (t == NULL)
return -1;
- threadP = cthread_thread(t); /* get thread underlying */
+ threadP = cthread_thread (t); /* get thread underlying */
- error=thread_info(threadP, THREAD_SCHED_INFO,
- (thread_info_t)&info, &info_count);
+ error = thread_info (threadP, THREAD_SCHED_INFO,
+ (thread_info_t) &info, &info_count);
if (error != KERN_SUCCESS)
return -1;
@@ -65,14 +66,14 @@ static int __mach_get_max_thread_priority(cthread_t t, int *base)
/* Initialize the threads subsystem. */
int
-__objc_init_thread_system(void)
+__objc_init_thread_system (void)
{
return 0;
}
/* Close the threads subsystem. */
int
-__objc_close_thread_system(void)
+__objc_close_thread_system (void)
{
return 0;
}
@@ -81,19 +82,19 @@ __objc_close_thread_system(void)
/* Create a new thread of execution. */
objc_thread_t
-__objc_thread_detach(void (*func)(void *arg), void *arg)
+__objc_thread_detach (void (*func) (void *arg), void *arg)
{
objc_thread_t thread_id;
cthread_t new_thread_handle;
/* create thread */
- new_thread_handle = cthread_fork((cthread_fn_t)func, arg);
+ new_thread_handle = cthread_fork ((cthread_fn_t) func, arg);
- if(new_thread_handle)
+ if (new_thread_handle)
{
/* this is not terribly portable */
- thread_id = *(objc_thread_t *)&new_thread_handle;
- cthread_detach(new_thread_handle);
+ thread_id = *(objc_thread_t *) &new_thread_handle;
+ cthread_detach (new_thread_handle);
}
else
thread_id = NULL;
@@ -103,11 +104,11 @@ __objc_thread_detach(void (*func)(void *arg), void *arg)
/* Set the current thread's priority. */
int
-__objc_thread_set_priority(int priority)
+__objc_thread_set_priority (int priority)
{
- objc_thread_t *t = objc_thread_id();
+ objc_thread_t *t = objc_thread_id ();
cthread_t cT = (cthread_t) t;
- int maxPriority = __mach_get_max_thread_priority(cT, NULL);
+ int maxPriority = __mach_get_max_thread_priority (cT, NULL);
int sys_priority = 0;
if (maxPriority == -1)
@@ -132,7 +133,7 @@ __objc_thread_set_priority(int priority)
return -1;
/* Change the priority */
- if (cthread_priority(cT, sys_priority, 0) == KERN_SUCCESS)
+ if (cthread_priority (cT, sys_priority, 0) == KERN_SUCCESS)
return 0;
else
return -1;
@@ -140,19 +141,19 @@ __objc_thread_set_priority(int priority)
/* Return the current thread's priority. */
int
-__objc_thread_get_priority(void)
+__objc_thread_get_priority (void)
{
- objc_thread_t *t = objc_thread_id();
- cthread_t cT = (cthread_t) t; /* see objc_thread_id() */
+ objc_thread_t *t = objc_thread_id ();
+ cthread_t cT = (cthread_t) t; /* see objc_thread_id () */
int basePriority;
int maxPriority;
int sys_priority = 0;
int interactiveT, backgroundT, lowT; /* thresholds */
- maxPriority = __mach_get_max_thread_priority(cT, &basePriority);
+ maxPriority = __mach_get_max_thread_priority (cT, &basePriority);
- if(maxPriority == -1)
+ if (maxPriority == -1)
return -1;
if (basePriority > ( (maxPriority * 2) / 3))
@@ -166,17 +167,17 @@ __objc_thread_get_priority(void)
/* Yield our process time to another thread. */
void
-__objc_thread_yield(void)
+__objc_thread_yield (void)
{
- cthread_yield();
+ cthread_yield ();
}
/* Terminate the current thread. */
int
-__objc_thread_exit(void)
+__objc_thread_exit (void)
{
/* exit the thread */
- cthread_exit(&__objc_thread_exit_status);
+ cthread_exit (&__objc_thread_exit_status);
/* Failed if we reached here */
return -1;
@@ -184,42 +185,42 @@ __objc_thread_exit(void)
/* Returns an integer value which uniquely describes a thread. */
objc_thread_t
-__objc_thread_id(void)
+__objc_thread_id (void)
{
- cthread_t self = cthread_self();
+ cthread_t self = cthread_self ();
- return *(objc_thread_t *)&self;
+ return *(objc_thread_t *) &self;
}
/* Sets the thread's local storage pointer. */
int
-__objc_thread_set_data(void *value)
+__objc_thread_set_data (void *value)
{
- cthread_set_data(cthread_self(), (any_t) value);
+ cthread_set_data (cthread_self (), (any_t) value);
return 0;
}
/* Returns the thread's local storage pointer. */
void *
-__objc_thread_get_data(void)
+__objc_thread_get_data (void)
{
- return (void *) cthread_data(cthread_self());
+ return (void *) cthread_data (cthread_self ());
}
/* Backend mutex functions */
/* Allocate a mutex. */
int
-__objc_mutex_allocate(objc_mutex_t mutex)
+__objc_mutex_allocate (objc_mutex_t mutex)
{
int err = 0;
- mutex->backend = objc_malloc(sizeof(struct mutex));
+ mutex->backend = objc_malloc (sizeof (struct mutex));
- err = mutex_init((mutex_t)(mutex->backend));
+ err = mutex_init ((mutex_t) (mutex->backend));
if (err != 0)
{
- objc_free(mutex->backend);
+ objc_free (mutex->backend);
return -1;
}
else
@@ -228,28 +229,28 @@ __objc_mutex_allocate(objc_mutex_t mutex)
/* Deallocate a mutex. */
int
-__objc_mutex_deallocate(objc_mutex_t mutex)
+__objc_mutex_deallocate (objc_mutex_t mutex)
{
- mutex_clear((mutex_t)(mutex->backend));
+ mutex_clear ((mutex_t) (mutex->backend));
- objc_free(mutex->backend);
+ objc_free (mutex->backend);
mutex->backend = NULL;
return 0;
}
/* Grab a lock on a mutex. */
int
-__objc_mutex_lock(objc_mutex_t mutex)
+__objc_mutex_lock (objc_mutex_t mutex)
{
- mutex_lock((mutex_t)(mutex->backend));
+ mutex_lock ((mutex_t) (mutex->backend));
return 0;
}
/* Try to grab a lock on a mutex. */
int
-__objc_mutex_trylock(objc_mutex_t mutex)
+__objc_mutex_trylock (objc_mutex_t mutex)
{
- if (mutex_try_lock((mutex_t)(mutex->backend)) == 0)
+ if (mutex_try_lock ((mutex_t) (mutex->backend)) == 0)
return -1;
else
return 0;
@@ -257,9 +258,9 @@ __objc_mutex_trylock(objc_mutex_t mutex)
/* Unlock the mutex */
int
-__objc_mutex_unlock(objc_mutex_t mutex)
+__objc_mutex_unlock (objc_mutex_t mutex)
{
- mutex_unlock((mutex_t)(mutex->backend));
+ mutex_unlock ((mutex_t) (mutex->backend));
return 0;
}
@@ -267,45 +268,45 @@ __objc_mutex_unlock(objc_mutex_t mutex)
/* Allocate a condition. */
int
-__objc_condition_allocate(objc_condition_t condition)
+__objc_condition_allocate (objc_condition_t condition)
{
- condition->backend = objc_malloc(sizeof(struct condition));
- condition_init((condition_t)(condition->backend));
+ condition->backend = objc_malloc (sizeof (struct condition));
+ condition_init ((condition_t) (condition->backend));
return 0;
}
/* Deallocate a condition. */
int
-__objc_condition_deallocate(objc_condition_t condition)
+__objc_condition_deallocate (objc_condition_t condition)
{
- condition_clear((condition_t)(condition->backend));
- objc_free(condition->backend);
+ condition_clear ((condition_t) (condition->backend));
+ objc_free (condition->backend);
condition->backend = NULL;
return 0;
}
/* Wait on the condition */
int
-__objc_condition_wait(objc_condition_t condition, objc_mutex_t mutex)
+__objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex)
{
- condition_wait((condition_t)(condition->backend),
- (mutex_t)(mutex->backend));
+ condition_wait ((condition_t) (condition->backend),
+ (mutex_t) (mutex->backend));
return 0;
}
/* Wake up all threads waiting on this condition. */
int
-__objc_condition_broadcast(objc_condition_t condition)
+__objc_condition_broadcast (objc_condition_t condition)
{
- condition_broadcast((condition_t)(condition->backend));
+ condition_broadcast ((condition_t) (condition->backend));
return 0;
}
/* Wake up one thread waiting on this condition. */
int
-__objc_condition_signal(objc_condition_t condition)
+__objc_condition_signal (objc_condition_t condition)
{
- condition_signal((condition_t)(condition->backend));
+ condition_signal ((condition_t) (condition->backend));
return 0;
}
OpenPOWER on IntegriCloud