summaryrefslogtreecommitdiffstats
path: root/libssh/src/threads/pthread.c
diff options
context:
space:
mode:
Diffstat (limited to 'libssh/src/threads/pthread.c')
-rw-r--r--libssh/src/threads/pthread.c99
1 files changed, 0 insertions, 99 deletions
diff --git a/libssh/src/threads/pthread.c b/libssh/src/threads/pthread.c
deleted file mode 100644
index 829fa5c6..00000000
--- a/libssh/src/threads/pthread.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * This file is part of the SSH Library
- *
- * Copyright (c) 2010 by Aris Adamantiadis
- *
- * The SSH Library is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at your
- * option) any later version.
- *
- * The SSH Library 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 Lesser General Public
- * License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with the SSH Library; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- * MA 02111-1307, USA.
- */
-
-#include "config.h"
-#include <libssh/callbacks.h>
-
-#ifdef HAVE_PTHREAD
-
-#include <errno.h>
-#include <stdlib.h>
-#include <pthread.h>
-
-/** @brief Defines the needed callbacks for pthread. Use this if your
- * OS supports libpthread and want to use it for threading.
- * @code
- * #include <libssh/callbacks.h>
- * #include <errno.h>
- * #include <pthread.h>
- * SSH_THREADS_PTHREAD(ssh_pthread_callbacks);
- * int main(){
- * ssh_init_set_threads_callbacks(&ssh_pthread_callbacks);
- * ssh_init();
- * ...
- * }
- * @endcode
- * @param name name of the structure to be declared, containing the
- * callbacks for threading
- *
- */
-
-static int ssh_pthread_mutex_init (void **priv){
- int err = 0;
- *priv = malloc (sizeof (pthread_mutex_t));
- if (*priv==NULL)
- return ENOMEM;
- err = pthread_mutex_init (*priv, NULL);
- if (err != 0){
- free (*priv);
- *priv=NULL;
- }
- return err;
-}
-
-static int ssh_pthread_mutex_destroy (void **lock) {
- int err = pthread_mutex_destroy (*lock);
- free (*lock);
- *lock=NULL;
- return err;
-}
-
-static int ssh_pthread_mutex_lock (void **lock) {
- return pthread_mutex_lock (*lock);
-}
-
-static int ssh_pthread_mutex_unlock (void **lock){
- return pthread_mutex_unlock (*lock);
-}
-
-static unsigned long ssh_pthread_thread_id (void){
-#if _WIN32
- return (unsigned long) pthread_self().p;
-#else
- return (unsigned long) pthread_self();
-#endif
-}
-
-static struct ssh_threads_callbacks_struct ssh_threads_pthread =
-{
- .type="threads_pthread",
- .mutex_init=ssh_pthread_mutex_init,
- .mutex_destroy=ssh_pthread_mutex_destroy,
- .mutex_lock=ssh_pthread_mutex_lock,
- .mutex_unlock=ssh_pthread_mutex_unlock,
- .thread_id=ssh_pthread_thread_id
-};
-
-struct ssh_threads_callbacks_struct *ssh_threads_get_pthread(void) {
- return &ssh_threads_pthread;
-}
-
-#endif /* HAVE_PTHREAD */