Files @ r9334:6d079081ec24
Branch filter:

Location: cpp/openttd-patchpack/source/src/thread_os2.cpp - annotation

belugas
(svn r13226) -Feature: Allow to have more than only two airports per town. The number of airports is now controlled by the noise each of them generates, the distance from town's center and how tolerant the town is.
Initial concept : TTDPatch (moreairpots), Initial code : Pasky
Thanks to BigBB (help coding), Smatz Skidd13 and frosch for bugcatches and advices
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
r8934:d5858392238b
/* $Id$ */

/** @file thread_os2.cpp OS2 implementation of Threads. */

#include "stdafx.h"
#include "thread.h"

#if 0
#include "debug.h"
#include "core/alloc_func.hpp"
#include <stdlib.h>

#define INCL_DOS
#include <os2.h>
#include <process.h>

struct OTTDThread {
	TID thread;
	OTTDThreadFunc func;
	void *arg;
	void *ret;
};

static void Proxy(void *arg)
{
	OTTDThread *t = (OTTDThread *)arg;
	t->ret = t->func(t->arg);
}

OTTDThread *OTTDCreateThread(OTTDThreadFunc function, void *arg)
{
	OTTDThread *t = MallocT<OTTDThread>(1);

	t->func = function;
	t->arg  = arg;
	t->thread = _beginthread(Proxy, NULL, 32768, t);
	if (t->thread != (TID)-1) {
		return t;
	} else {
		free(t);
		return NULL;
	}
}

void *OTTDJoinThread(OTTDThread *t)
{
	if (t == NULL) return NULL;

	DosWaitThread(&t->thread, DCWW_WAIT);
	void *ret = t->ret;
	free(t);
	return ret;
}

void OTTDExitThread()
{
	_endthread();
}

#endif

/* static */ ThreadObject *ThreadObject::New(OTTDThreadFunc proc, void *param)
{
	return NULL;
}

/* static */ ThreadObject *ThreadObject::AttachCurrent()
{
	return NULL;
}

/* static */ uint ThreadObject::CurrentId()
{
	return -1;
}

/* static */ ThreadSemaphore *ThreadSemaphore::New()
{
	return NULL;
}