39 #include "blocxx/BLOCXX_config.h"
82 #if defined(BLOCXX_WIN32)
100 #if defined(BLOCXX_WIN32)
107 b_gotShutDown =
false;
118 #if defined(BLOCXX_WIN32)
#define BLOCXX_ASSERT(CON)
BLOCXX_ASSERT works similar to the assert() macro, but instead of calling abort(), it throws an AssertionException.
#define BLOCXX_DEFINE_EXCEPTION_WITH_ID(NAME)
Define a new exception class named Exception that derives from Exception.
static GlobalMutex shutdownMutex
static void createShutDownMechanism()
Socket()
Construct a non-SSL Socket.
static void deleteShutDownMechanism()
void writeString(std::streambuf &ostrm, const String &str)
static bool b_gotShutDown
static bool gotShutDown() BLOCXX_DEPRECATED
Have the sockets been shutdown?
This class can be used to store a global variable that is lazily initialized in a thread safe manner...
#define BLOCXX_LAZY_GLOBAL_INIT(...)
Statically initialize a LazyGlobal instance.
static void shutdownAllSockets()
Call this to shutdown all sockets.
static LazyGlobal< Socket::ShutDownMechanism_t, int, ShutDownMechanismFactory > s_shutDownMechanism
static UnnamedPipeRef createUnnamedPipe(EOpen doOpen=E_OPEN)
Create an instance of the concrete class that implements the UnnamedPipe interface.
#define BLOCXX_THROW_ERRNO_MSG(exType, msg)
Throw an exception using FILE, LINE, errno and strerror(errno)
#define BLOCXX_GLOBAL_MUTEX_INIT()