X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;ds=sidebyside;f=include%2Fthreadengines%2Fthreadengine_win32.h;h=f068ac70785ff35a3152bc65535b103f854fcc6f;hb=4c751dbbe8945e5efc230a59b0ed51c2ba10cf92;hp=6bd1c2c005dd2765de1df279a61dfeabaf8d33c8;hpb=9b6337bec9b8adfcb1746c76be752334869ac997;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/threadengines/threadengine_win32.h b/include/threadengines/threadengine_win32.h index 6bd1c2c00..f068ac707 100644 --- a/include/threadengines/threadengine_win32.h +++ b/include/threadengines/threadengine_win32.h @@ -1,23 +1,29 @@ -/* +------------------------------------+ - * | Inspire Internet Relay Chat Daemon | - * +------------------------------------+ +/* + * InspIRCd -- Internet Relay Chat Daemon * - * InspIRCd: (C) 2002-2009 InspIRCd Development Team - * See: http://wiki.inspircd.org/Credits + * Copyright (C) 2009 Daniel De Graaf + * Copyright (C) 2008 Craig Edwards * - * This program is free but copyrighted software; see - * the file COPYING for details. + * This file is part of InspIRCd. InspIRCd 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. * - * --------------------------------------------------- + * 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, see . */ -#ifndef __THREADENGINE_WIN32THREAD__ -#define __THREADENGINE_WIN32THREAD__ + +#ifndef THREADENGINE_WIN32_H +#define THREADENGINE_WIN32_H #include "inspircd_config.h" #include "base.h" -class InspIRCd; class Thread; /** The ThreadEngine class has the responsibility of initialising @@ -30,11 +36,11 @@ class Thread; * access non-threadsafe code from a Thread, use the Mutex class to wrap * access to the code carefully. */ -class CoreExport ThreadEngine : public Extensible +class CoreExport ThreadEngine { public: - ThreadEngine(InspIRCd* Instance); + ThreadEngine(); virtual ~ThreadEngine(); @@ -102,12 +108,15 @@ class ThreadQueueData public: ThreadQueueData() { - InitializeCriticalSection(&mutex); event = CreateEvent(NULL, false, false, NULL); + if (event == NULL) + throw CoreException("CreateEvent() failed in ThreadQueueData::ThreadQueueData()!"); + InitializeCriticalSection(&mutex); } ~ThreadQueueData() { + CloseHandle(event); DeleteCriticalSection(&mutex); }