src/thread/generic/SDL_systhread.c
author Sam Lantinga
Sun, 02 Jun 2013 01:12:29 -0700
changeset 7259 be3edef98d4b
parent 7037 3fedf1f25b94
child 7978 70ac84e49797
permissions -rw-r--r--
Fixed bug 1881 - SDL will not compile with "SDL_THREADS" disabled.

MakoEnergy02

I am attempting to compile SDL on WindowsXP 32-bit, using MinGW. The problem I am having is when I attempt to compile, when it gets to "SDL_systhread.c" it errors:

C:\Repos\Mezzanine\Mezzanine\libincludes\common\sdlsrc\SDL\src\thread\generic\SDL_systhread.c|29|error: conflicting types for 'SDL_SYS_CreateThread'
C:\Repos\Mezzanine\Mezzanine\libincludes\common\sdlsrc\SDL\src\thread\generic\..\SDL_systhread.h|35|note: previous declaration of 'SDL_SYS_CreateThread' was here

I do have SDL_THREADS disabled in my cmake configuration as I do not want or need SDL making threads for me, I have another thread provider. It seems the generic "dummy" implementation does not account for the two extra parameters needed for the "SDL_SYS_CreateThread" method when "SDL_PASSED_BEGINTHREAD_ENDTHREAD" is defined.
slouken@0
     1
/*
slouken@5535
     2
  Simple DirectMedia Layer
slouken@6885
     3
  Copyright (C) 1997-2013 Sam Lantinga <slouken@libsdl.org>
slouken@0
     4
slouken@5535
     5
  This software is provided 'as-is', without any express or implied
slouken@5535
     6
  warranty.  In no event will the authors be held liable for any damages
slouken@5535
     7
  arising from the use of this software.
slouken@0
     8
slouken@5535
     9
  Permission is granted to anyone to use this software for any purpose,
slouken@5535
    10
  including commercial applications, and to alter it and redistribute it
slouken@5535
    11
  freely, subject to the following restrictions:
slouken@0
    12
slouken@5535
    13
  1. The origin of this software must not be misrepresented; you must not
slouken@5535
    14
     claim that you wrote the original software. If you use this software
slouken@5535
    15
     in a product, an acknowledgment in the product documentation would be
slouken@5535
    16
     appreciated but is not required.
slouken@5535
    17
  2. Altered source versions must be plainly marked as such, and must not be
slouken@5535
    18
     misrepresented as being the original software.
slouken@5535
    19
  3. This notice may not be removed or altered from any source distribution.
slouken@0
    20
*/
slouken@1402
    21
#include "SDL_config.h"
slouken@0
    22
slouken@0
    23
/* Thread management routines for SDL */
slouken@0
    24
slouken@0
    25
#include "SDL_thread.h"
slouken@1361
    26
#include "../SDL_systhread.h"
slouken@0
    27
slouken@7259
    28
#ifdef SDL_PASSED_BEGINTHREAD_ENDTHREAD
slouken@7259
    29
int
slouken@7259
    30
SDL_SYS_CreateThread(SDL_Thread * thread, void *args,
slouken@7259
    31
                     pfnSDL_CurrentBeginThread pfnBeginThread,
slouken@7259
    32
                     pfnSDL_CurrentEndThread pfnEndThread)
slouken@7259
    33
#else
slouken@1895
    34
int
slouken@1895
    35
SDL_SYS_CreateThread(SDL_Thread * thread, void *args)
slouken@7259
    36
#endif /* SDL_PASSED_BEGINTHREAD_ENDTHREAD */
slouken@0
    37
{
icculus@7037
    38
    return SDL_SetError("Threads are not supported on this platform");
slouken@0
    39
}
slouken@0
    40
slouken@1895
    41
void
icculus@5969
    42
SDL_SYS_SetupThread(const char *name)
slouken@0
    43
{
slouken@1895
    44
    return;
slouken@0
    45
}
slouken@0
    46
slouken@3578
    47
SDL_threadID
slouken@1895
    48
SDL_ThreadID(void)
slouken@0
    49
{
slouken@1895
    50
    return (0);
slouken@0
    51
}
slouken@0
    52
slouken@5506
    53
int
slouken@5509
    54
SDL_SYS_SetThreadPriority(SDL_ThreadPriority priority)
slouken@5506
    55
{
slouken@5506
    56
    return (0);
slouken@5506
    57
}
slouken@5506
    58
slouken@1895
    59
void
slouken@1895
    60
SDL_SYS_WaitThread(SDL_Thread * thread)
slouken@0
    61
{
slouken@1895
    62
    return;
slouken@0
    63
}
slouken@0
    64
slouken@1895
    65
/* vi: set ts=4 sw=4 expandtab: */