From 0e752a6e215aee21dc73da097c3225495d54a5b6 Mon Sep 17 00:00:00 2001 From: SoniEx2 Date: Fri, 9 Apr 2021 07:19:03 -0300 Subject: Add libotr/etc sources --- libotr/libgpg-error-1.42/src/posix-thread.c | 68 +++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 libotr/libgpg-error-1.42/src/posix-thread.c (limited to 'libotr/libgpg-error-1.42/src/posix-thread.c') diff --git a/libotr/libgpg-error-1.42/src/posix-thread.c b/libotr/libgpg-error-1.42/src/posix-thread.c new file mode 100644 index 0000000..36c81ba --- /dev/null +++ b/libotr/libgpg-error-1.42/src/posix-thread.c @@ -0,0 +1,68 @@ +/* posix-thread.c - GPGRT thread functions for POSIX systems + Copyright (C) 2014 g10 Code GmbH + + This file is part of libgpg-error. + + libgpg-error 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. + + libgpg-error 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 this program; if not, see . + */ + +#if HAVE_CONFIG_H +#include +#endif + +#ifdef HAVE_W32_SYSTEM +# error This module may not be build for Windows. +#endif + +#include +#include +#include +#include +#include /* Get posix option macros. */ + +#if USE_POSIX_THREADS +# ifdef _POSIX_PRIORITY_SCHEDULING +# include +# endif +#elif USE_SOLARIS_THREADS +# include +#endif + +#include "gpgrt-int.h" + +#include "thread.h" + + + +gpg_err_code_t +_gpgrt_yield (void) +{ +#if USE_POSIX_THREADS +# ifdef _POSIX_PRIORITY_SCHEDULING + _gpgrt_pre_syscall (); + sched_yield (); + _gpgrt_post_syscall (); +# else + return GPG_ERR_NOT_SUPPORTED; +# endif +#elif USE_SOLARIS_THREADS + _gpgrt_pre_syscall (); + thr_yield (); + _gpgrt_post_syscall (); +#else + return GPG_ERR_NOT_SUPPORTED; +#endif + + return 0; +} -- cgit 1.4.1