-/****h* silcutil/silcthread.h
- *
- * NAME
- *
- * silcmutex.h
- *
- * COPYRIGHT
- *
- * Author: Pekka Riikonen <priikone@silcnet.org>
- *
- * Copyright (C) 2001 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.
- *
- * 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
- * GNU General Public License for more details.
+/*
+
+ silcmutex.h
+
+ Author: Pekka Riikonen <priikone@silcnet.org>
+
+ 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; 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
+ GNU General Public License for more details.
+
+*/
+
+/****h* silcutil/SILC Thread Interface
*
* DESCRIPTION
*
* Interface for SILC Thread implementation. This is platform independent
- * implementation of threads for applications needing concurrent execution
- * with the application's main thread. The threads created with this
+ * interface of threads for applications that need concurrent execution
+ * with the application's main thread. The threads created with this
* interface executes concurrently with the calling thread.
*
- */
+ ***/
#ifndef SILCTHREAD_H
#define SILCTHREAD_H
/****s* silcutil/SilcThreadAPI/SilcThread
*
* NAME
- *
+ *
* typedef struct SilcThreadStruct *SilcThread;
*
* DESCRIPTION
*
* SYNOPSIS
*
- * SilcThread silc_thread_create(SilcThreadStart start_func, void *context);
- *
+ * 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
*
*
* DESCRIPTION
*
- * Returns a pointer of the current thread.
+ * Returns a pointer to the current thread.
*
***/
SilcThread silc_thread_self(void);
*
* 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