src/events/SDL_events.c
changeset 3269 a67a961e2171
parent 3268 82ce350be859
child 3578 0d1b16ee0bca
equal deleted inserted replaced
3268:82ce350be859 3269:a67a961e2171
    82     if (SDL_EventThread && (SDL_ThreadID() != event_thread)) {
    82     if (SDL_EventThread && (SDL_ThreadID() != event_thread)) {
    83         SDL_mutexV(SDL_EventLock.lock);
    83         SDL_mutexV(SDL_EventLock.lock);
    84     }
    84     }
    85 }
    85 }
    86 
    86 
    87 #ifdef __OS2__
       
    88 /*
       
    89  * We'll increase the priority of GobbleEvents thread, so it will process
       
    90  *  events in time for sure! For this, we need the DosSetPriority() API
       
    91  *  from the os2.h include file.
       
    92  */
       
    93 #define INCL_DOSPROCESS
       
    94 #include <os2.h>
       
    95 #include <time.h>
       
    96 #endif
       
    97 
       
    98 static int SDLCALL
    87 static int SDLCALL
    99 SDL_GobbleEvents(void *unused)
    88 SDL_GobbleEvents(void *unused)
   100 {
    89 {
   101     event_thread = SDL_ThreadID();
    90     event_thread = SDL_ThreadID();
   102 
       
   103 #ifdef __OS2__
       
   104 #ifdef USE_DOSSETPRIORITY
       
   105     /* Increase thread priority, so it will process events in time for sure! */
       
   106     DosSetPriority(PRTYS_THREAD, PRTYC_REGULAR, +16, 0);
       
   107 #endif
       
   108 #endif
       
   109 
    91 
   110     while (SDL_EventQ.active) {
    92     while (SDL_EventQ.active) {
   111         SDL_VideoDevice *_this = SDL_GetVideoDevice();
    93         SDL_VideoDevice *_this = SDL_GetVideoDevice();
   112 
    94 
   113         /* Get events from the video subsystem */
    95         /* Get events from the video subsystem */