diff options
author | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-03-12 14:31:34 +0100 |
---|---|---|
committer | madmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-03-12 14:31:34 +0100 |
commit | b789d5ebf6bba3231cb77839cb48e7c5d9c43930 (patch) | |
tree | d69d18c66a6eca85f1f4e29bb5ecd61e4d3f602d /source | |
parent | Stopping the ChunkSender upon server stop (diff) | |
download | cuberite-b789d5ebf6bba3231cb77839cb48e7c5d9c43930.tar cuberite-b789d5ebf6bba3231cb77839cb48e7c5d9c43930.tar.gz cuberite-b789d5ebf6bba3231cb77839cb48e7c5d9c43930.tar.bz2 cuberite-b789d5ebf6bba3231cb77839cb48e7c5d9c43930.tar.lz cuberite-b789d5ebf6bba3231cb77839cb48e7c5d9c43930.tar.xz cuberite-b789d5ebf6bba3231cb77839cb48e7c5d9c43930.tar.zst cuberite-b789d5ebf6bba3231cb77839cb48e7c5d9c43930.zip |
Diffstat (limited to 'source')
-rw-r--r-- | source/cEvent.cpp | 17 | ||||
-rw-r--r-- | source/cMonster.cpp | 2 | ||||
-rw-r--r-- | source/cSocket.cpp | 2 |
3 files changed, 7 insertions, 14 deletions
diff --git a/source/cEvent.cpp b/source/cEvent.cpp index c52a8a226..17d56be91 100644 --- a/source/cEvent.cpp +++ b/source/cEvent.cpp @@ -26,11 +26,7 @@ cEvent::cEvent(void) m_Event = new sem_t;
if (sem_init(m_Event, 0, 0))
{
- LOGWARN("WARNING cEvent: Could not create unnamed semaphore, fallback to named.");
-
- // _X: I'm unconvinced about using sem_unlink() just after a successful sem_open(), it seems wrong - why destroy the object just after creating?
- ASSERT(!"This codepath is really weird, if it is ever used, please check that everything works.");
-
+ // This path is used by MacOS, because it doesn't support unnamed semaphores.
delete m_Event;
m_bIsNamed = true;
@@ -42,13 +38,6 @@ cEvent::cEvent(void) LOGERROR("cEvent: Cannot create event, errno = %i. Aborting server.", errno);
abort();
}
- else
- {
- if( sem_unlink(EventName.c_str()) != 0 )
- {
- LOGWARN("ERROR: Could not unlink cEvent. (%i)", errno);
- }
- }
}
#endif // *nix
}
@@ -64,6 +53,10 @@ cEvent::~cEvent() #else
if (m_bIsNamed)
{
+ if (sem_unlink(EventName.c_str()) != 0)
+ {
+ LOGWARN("ERROR: Could not unlink cEvent. (%i)", errno);
+ }
if (sem_close(m_Event) != 0)
{
LOGERROR("ERROR: Could not close cEvent. (%i)", errno);
diff --git a/source/cMonster.cpp b/source/cMonster.cpp index 764d7d67a..80c7e8d24 100644 --- a/source/cMonster.cpp +++ b/source/cMonster.cpp @@ -84,7 +84,7 @@ cPacket * cMonster::GetSpawnPacket(void) const cPacket_SpawnMob * Spawn = new cPacket_SpawnMob;
Spawn->m_UniqueID = GetUniqueID();
Spawn->m_Type = m_MobType;
- *Spawn->m_Pos = Vector3i((m_Pos) * 32);
+ *Spawn->m_Pos = ((Vector3i)(m_Pos)) * 32;
Spawn->m_Yaw = 0;
Spawn->m_Pitch = 0;
Spawn->m_MetaDataSize = 1;
diff --git a/source/cSocket.cpp b/source/cSocket.cpp index 0e3d2730c..880169483 100644 --- a/source/cSocket.cpp +++ b/source/cSocket.cpp @@ -111,7 +111,7 @@ AString cSocket::GetErrorString( int a_ErrNo ) // According to http://linux.die.net/man/3/strerror_r there are two versions of strerror_r():
- #if ((((_POSIX_C_SOURCE >= 200112L) || (_XOPEN_SOURCE >= 600)) && ! _GNU_SOURCE) || __CYGWIN32__ ) // XSI version of strerror_r():
+ #if ((((_POSIX_C_SOURCE >= 200112L) || (_XOPEN_SOURCE >= 600)) && ! _GNU_SOURCE && !__APPLE__) || __CYGWIN32__ ) // XSI version of strerror_r():
int res = strerror_r( errno, buffer, ARRAYCOUNT(buffer) );
if( res == 0 )
|