Created SILC Crypto Toolkit git repository.
[crypto.git] / lib / silcutil / beos / silcbeosthread.c
diff --git a/lib/silcutil/beos/silcbeosthread.c b/lib/silcutil/beos/silcbeosthread.c
deleted file mode 100644 (file)
index eb41141..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
-
-  silcbeosthread.c 
-
-  Author: Pekka Riikonen <priikone@silcnet.org>
-
-  Copyright (C) 2002 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.
-
-*/
-/* I used Apache's APR code as a reference here. */
-/* $Id$ */
-
-/* XXX This leaks memory. Perhaps the SilcThread API should be changed
-   since the silc_thread_self() causes that BeOS and OS/2 is hard to
-   do to support this SilcThread API */
-
-#include "silc.h"
-
-#ifdef SILC_THREADS
-
-/* Thread structure for BeOS */
-typedef struct {
-  thread_id thread;
-  SilcThreadStart start_func;
-  void *context;
-  SilcBool waitable;
-} *SilcBeosThread;
-
-/* Actual routine that is called by BeOS when the thread is created.
-   We will call the start_func from here. */
-
-static void *silc_thread_beos_start(void *context)
-{
-  SilcBeosThread thread = (SilcBeosThread)context;
-  return (*thread->start_func)(thread->context);
-}
-
-#endif
-
-SilcThread silc_thread_create(SilcThreadStart start_func, void *context,
-                             SilcBool waitable)
-{
-#ifdef SILC_THREADS
-  int ret;
-  SilcBeosThread thread = silc_calloc(1, sizeof(*thread));
-  if (!thread)
-    return NULL;
-
-  thread->start_func = start_func;
-  thread->context = context;
-  thread->waitable = waitable;
-
-  /* Create the thread, and run it */
-  thread->thread = spawn_thread((thread_func)silc_thread_beos_start,
-                               B_NORMAL_PRIORITY, thread);
-  ret = resume_thread(thread->thread);
-  if (ret < B_NO_ERROR) {
-    SILC_LOG_ERROR(("Could not create new thread"));
-    silc_free(thread);
-    return NULL;
-  }
-
-  return (SilcThread)thread->thread;
-#else
-  /* Call thread callback immediately */
-  (*start_func)(context);
-  return NULL;
-#endif
-}
-
-void silc_thread_exit(void *exit_value)
-{
-#ifdef SILC_THREADS
-  exit_thread((status_t)exit_value);
-#endif
-}
-
-SilcThread silc_thread_self(void)
-{
-#ifdef SILC_THREADS
-  return (SilcThread)find_thread(NULL);
-#else
-  return NULL;
-#endif
-}
-
-SilcBool silc_thread_wait(SilcThread thread, void **exit_value)
-{
-#ifdef SILC_THREADS
-  status_t ret, retval;
-
-  ret = wait_for_thread((thread_id)thread, &retval);
-  if (ret == B_NO_ERROR) {
-    if (exit_value)
-      *exit_value = retval;
-    return TRUE;
-  }
-
-  return FALSE;
-#else
-  return FALSE;
-#endif
-}