X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fthreads.c;h=b0856bf2277e50afd8d298f0e9fd4a4e19dc0d44;hb=HEAD;hp=cb216febefa00d24a3339a419c103a46564dd358;hpb=d04e1208cf6c71816adb600c6493c48c7b9610f1;p=citadel.git diff --git a/citadel/threads.c b/citadel/threads.c deleted file mode 100644 index cb216febe..000000000 --- a/citadel/threads.c +++ /dev/null @@ -1,253 +0,0 @@ -/* - * Thread handling stuff for Citadel server - * - * Copyright (c) 1987-2011 by the citadel.org team - * - * This program is open source 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 3 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. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "sysdep.h" -#if TIME_WITH_SYS_TIME -# include -# include -#else -# if HAVE_SYS_TIME_H -# include -# else -# include -# endif -#endif - -#ifdef HAVE_SYSCALL_H -# include -#else -# if HAVE_SYS_SYSCALL_H -# include -# endif -#endif - -#include - -#include "threads.h" -#include "ctdl_module.h" -#include "modules_init.h" -#include "housekeeping.h" -#include "config.h" -#include "citserver.h" -#include "sysdep_decls.h" -#include "context.h" -#include "event_client.h" - - -/* - * To create a thread you must call one of the create thread functions. - * You must pass it the address of (a pointer to a CtdlThreadNode initialised to NULL) like this - * struct CtdlThreadNode *node = NULL; - * pass in &node - * If the thread is created *node will point to the thread control structure for the created thread. - * If the thread creation fails *node remains NULL - * Do not free the memory pointed to by *node, it doesn't belong to you. - * This new interface duplicates much of the eCrash stuff. We should go for closer integration since that would - * remove the need for the calls to eCrashRegisterThread and friends - */ - -static int num_threads = 0; /* Current number of threads */ -pthread_key_t ThreadKey; -pthread_mutex_t Critters[MAX_SEMAPHORES]; /* Things needing locking */ -struct thread_tsd masterTSD; - - - -void InitializeSemaphores(void) -{ - int i; - - /* Set up a bunch of semaphores to be used for critical sections */ - for (i=0; i