* Add a general purpose multi-threaded task manager (worker pool) for background tasks Reimplemented screenshots off-loading using the new task manager. * Largerly rewrite resource loading internals They use the new task manager API now and should be generally more robust. * Made the game playable without threads again * wait for resource async load task instead of intermediate state change * remove dead code * taskmgr: if creating a worker thread fails, try to make sure the others terminate
20 lines
443 B
C
20 lines
443 B
C
/*
|
|
* This software is licensed under the terms of the MIT-License
|
|
* See COPYING for further information.
|
|
* ---
|
|
* Copyright (c) 2011-2018, Lukas Weber <laochailan@web.de>.
|
|
* Copyright (c) 2012-2018, Andrei Alexeyev <akari@alienslab.net>.
|
|
*/
|
|
|
|
#include "taisei.h"
|
|
|
|
#include "crap.h"
|
|
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
|
|
void* memdup(const void *src, size_t size) {
|
|
void *data = malloc(size);
|
|
memcpy(data, src, size);
|
|
return data;
|
|
}
|