/*
silcmutex.h
-
+
Author: Pekka Riikonen <priikone@silcnet.org>
-
- Copyright (C) 2001 Pekka Riikonen
-
+
+ Copyright (C) 2001 - 2005 Pekka Riikonen
+
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
+ the Free Software Foundation; version 2 of the License.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
*/
-/****h* silcutil/SilcThreadAPI
+/****h* silcutil/SILC Thread Interface
*
* DESCRIPTION
*
* Interface for SILC Thread implementation. This is platform independent
* interface of threads for applications that need concurrent execution
- * with the application's main thread. The threads created with this
+ * with the application's main thread. The threads created with this
* interface executes concurrently with the calling thread.
*
***/
/****s* silcutil/SilcThreadAPI/SilcThread
*
* NAME
- *
+ *
* typedef struct SilcThreadStruct *SilcThread;
*
* DESCRIPTION
*
* SYNOPSIS
*
- * SilcThread silc_thread_create(SilcThreadStart start_func,
- * void *context, bool waitable);
+ * SilcThread silc_thread_create(SilcThreadStart start_func,
+ * void *context, SilcBool waitable);
* DESCRIPTION
*
* Creates a new thread. The `start_func' with `context' will be
* If the `waitable' is TRUE then another thread must always issue
* silc_thread_wait to avoid memory leaks.
*
+ * On Symbian Cleanup Stack is created and new Active Scheduler is
+ * installed automatically for the created thread. The thread also
+ * shares heap with the calling thread.
+ *
***/
SilcThread silc_thread_create(SilcThreadStart start_func, void *context,
- bool waitable);
+ SilcBool waitable);
/****f* silcutil/SilcThreadAPI/silc_thread_exit
*
*
* SYNOPSIS
*
- * bool silc_thread_wait(SilcThread thread, void **exit_value);
+ * SilcBool silc_thread_wait(SilcThread thread, void **exit_value);
*
* DESCRIPTION
*
* FALSE value.
*
***/
-bool silc_thread_wait(SilcThread thread, void **exit_value);
+SilcBool silc_thread_wait(SilcThread thread, void **exit_value);
+
+/****f* silcutil/SilcThreadAPI/silc_thread_yield
+ *
+ * SYNOPSIS
+ *
+ * void silc_thread_yield(void);
+ *
+ * DESCRIPTION
+ *
+ * Yield the processor. The calling thread will yield the processor and
+ * give execution time for other threads, until its turn comes up again.
+ *
+ ***/
+void silc_thread_yield(void);
#endif