summaryrefslogtreecommitdiffstats
path: root/WebServer/cEvent.cpp
diff options
context:
space:
mode:
authormadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-01-29 20:28:19 +0100
committermadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-01-29 20:28:19 +0100
commit89afb970d88e3efa8ddb2f1eafff10cd6525f2b7 (patch)
tree206b3ba15c0fc87b3bf9ad7371f73887280945c4 /WebServer/cEvent.cpp
parentVC2008 compilation with new lua webplugin (diff)
downloadcuberite-89afb970d88e3efa8ddb2f1eafff10cd6525f2b7.tar
cuberite-89afb970d88e3efa8ddb2f1eafff10cd6525f2b7.tar.gz
cuberite-89afb970d88e3efa8ddb2f1eafff10cd6525f2b7.tar.bz2
cuberite-89afb970d88e3efa8ddb2f1eafff10cd6525f2b7.tar.lz
cuberite-89afb970d88e3efa8ddb2f1eafff10cd6525f2b7.tar.xz
cuberite-89afb970d88e3efa8ddb2f1eafff10cd6525f2b7.tar.zst
cuberite-89afb970d88e3efa8ddb2f1eafff10cd6525f2b7.zip
Diffstat (limited to 'WebServer/cEvent.cpp')
-rw-r--r--WebServer/cEvent.cpp112
1 files changed, 0 insertions, 112 deletions
diff --git a/WebServer/cEvent.cpp b/WebServer/cEvent.cpp
deleted file mode 100644
index 289131568..000000000
--- a/WebServer/cEvent.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-#include "cEvent.h"
-#include "../source/cMCLogger.h"
-
-#ifdef _WIN32
-#include <Windows.h>
-#else
-#include <semaphore.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <stdio.h> // sprintf()
-#endif
-
-cEvent::cEvent( unsigned int a_NumEvents /* = 1 */ )
- : m_NumEvents( a_NumEvents )
-#ifndef _WIN32
- , m_bNamed( false )
-#endif
-{
- if( m_NumEvents < 1 ) m_NumEvents = 1;
-
-#ifdef _WIN32
- m_Handle = new HANDLE[ m_NumEvents ];
- for( unsigned int i = 0; i < m_NumEvents; i++)
- {
- ((HANDLE*)m_Handle)[i] = CreateEvent( 0, FALSE, FALSE, 0 );
- }
-#else
- m_Handle = new sem_t*[ m_NumEvents ];
- for( unsigned int i = 0; i < m_NumEvents; i++)
- {
-
- sem_t* & HandlePtr = ((sem_t**)m_Handle)[i];
- HandlePtr = new sem_t;
-
- if( sem_init( HandlePtr, 0, 0 ) )
- {
- LOG("WARNING cEvent: Could not create unnamed semaphore, fallback to named.");
- m_bNamed = true;
- delete HandlePtr; // named semaphores return their own address
-
- char c_Str[32];
- sprintf( c_Str, "cEvent%p", &HandlePtr );
- HandlePtr = sem_open( c_Str, O_CREAT, 777, 0 );
- if( HandlePtr == SEM_FAILED )
- LOG("ERROR: Could not create Event. (%i)", errno);
- else
- if( sem_unlink( c_Str ) != 0 )
- LOG("ERROR: Could not unlink cEvent. (%i)", errno);
- }
- }
-#endif
-}
-
-cEvent::~cEvent()
-{
-#ifdef _WIN32
- for( unsigned int i = 0; i < m_NumEvents; i++ )
- {
- CloseHandle( ((HANDLE*)m_Handle)[i] );
- }
- delete [] (HANDLE*)m_Handle;
-#else
- for( unsigned int i = 0; i < m_NumEvents; i++ )
- {
- if( m_bNamed )
- {
- sem_t* & HandlePtr = ((sem_t**)m_Handle)[i];
- char c_Str[32];
- sprintf( c_Str, "cEvent%p", &HandlePtr );
- // LOG("Closing event: %s", c_Str );
- // LOG("Sem ptr: %p", HandlePtr );
- if( sem_close( HandlePtr ) != 0 )
- {
- LOG("ERROR: Could not close cEvent. (%i)", errno);
- }
- }
- else
- {
- sem_destroy( ((sem_t**)m_Handle)[i] );
- delete ((sem_t**)m_Handle)[i];
- }
- }
- delete [] (sem_t**)m_Handle; m_Handle = 0;
-#endif
-}
-
-void cEvent::Wait()
-{
-#ifdef _WIN32
- WaitForMultipleObjects( m_NumEvents, (HANDLE*)m_Handle, true, INFINITE );
-#else
- for(unsigned int i = 0; i < m_NumEvents; i++)
- {
- if( sem_wait( ((sem_t**)m_Handle)[i] ) != 0 )
- {
- LOG("ERROR: Could not wait for cEvent. (%i)", errno);
- }
- }
-#endif
-}
-
-void cEvent::Set(unsigned int a_EventNum /* = 0 */)
-{
-#ifdef _WIN32
- SetEvent( ((HANDLE*)m_Handle)[a_EventNum] );
-#else
- if( sem_post( ((sem_t**)m_Handle)[a_EventNum] ) != 0 )
- {
- LOG("ERROR: Could not set cEvent. (%i)", errno);
- }
-#endif
-}