Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 7314 in orxonox.OLD for trunk/src/lib/shell/shell_buffer.cc


Ignore:
Timestamp:
Apr 17, 2006, 1:19:20 AM (18 years ago)
Author:
bensch
Message:

orxonox/trunk: ShellBuffer is now ThreadSafe for printing to it
I must say: SDL_Thread's are way easier than simple pThreads

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/lib/shell/shell_buffer.cc

    r6222 r7314  
    4242
    4343ShellBuffer* ShellBuffer::singletonRef = NULL;
     44SDL_mutex* ShellBuffer::bufferMutex = NULL;
    4445
    4546/**
     
    5253
    5354  this->flush();
     55
     56  if (ShellBuffer::bufferMutex != NULL)
     57    SDL_DestroyMutex(ShellBuffer::bufferMutex);
     58  ShellBuffer::bufferMutex = NULL;
    5459
    5560  ShellBuffer::singletonRef = NULL;
     
    103108  va_start(arguments, line);
    104109
     110  if (ShellBuffer::bufferMutex == NULL)
     111    ShellBuffer::bufferMutex = SDL_CreateMutex();
     112
     113  SDL_mutexP(ShellBuffer::bufferMutex);
    105114#if DEBUG < 3
    106115  if (ShellBuffer::singletonRef == NULL)
    107116#endif
    108 
    109117    vprintf(line, arguments);
    110118#if DEBUG < 3
     
    114122#endif
    115123    ShellBuffer::singletonRef->addBufferLine(line, arguments);
     124  SDL_mutexV(ShellBuffer::bufferMutex);
    116125  return true;
    117126}
Note: See TracChangeset for help on using the changeset viewer.