WvStreams
|
Represents a shared-memory zone via mmap(). More...
#include <wvshmzone.h>
Public Member Functions | |
WvShmZone (size_t size) | |
Creates a shared memory zone. | |
virtual bool | isok () const |
By default, returns true if geterr() == 0. | |
virtual int | geterr () const |
If isok() is false, return the system error number corresponding to the error, -1 for a special error string (which you can obtain with errstr()) or 0 on end of file. | |
virtual WvString | errstr () const |
virtual void | seterr (int _errnum) |
Set the errnum variable -- we have an error. | |
void | seterr (WvStringParm specialerr) |
void | seterr (WVSTRING_FORMAT_DECL) |
void | seterr (const WvErrorBase &err) |
void | seterr_both (int _errnum, WvStringParm specialerr) |
void | seterr_both (int _errnum, WVSTRING_FORMAT_DECL) |
void | noerr () |
Reset our error state - there's no error condition anymore. | |
Static Public Member Functions | |
static WvString | strerror (int errnum) |
A replacement for the operating system ::strerror() function that can map more kinds of error strings (especially in win32). | |
Public Attributes | |
int | size |
union { | |
void * buf | |
char * cbuf | |
unsigned char * ucbuf | |
}; | |
Protected Attributes | |
int | errnum |
WvString | errstring |
Represents a shared-memory zone via mmap().
If you create one of these, its buf element will be shared across fork() and you can use it for various things such as a circular queue, semaphore, etc.
Definition at line 20 of file wvshmzone.h.
WvShmZone::WvShmZone | ( | size_t | size | ) |
Creates a shared memory zone.
"size" is the size of the zone in bytes
Definition at line 16 of file wvshmzone.cc.
References WvErrorBase::seterr().
virtual bool WvErrorBase::isok | ( | ) | const [inline, virtual, inherited] |
By default, returns true if geterr() == 0.
Might be overridden so that isok() == false even though no error code has been specified.
Reimplemented in WvEncoderStream, WvReadLineStream, WvTCPConn, WvNullListener, WvFdStream, WvLog, WvStream, WvStreamClone, WvSSLStream, IWvStream, WvDBusServer, WvDSAKey, WvTimeStream, WvBufStream, WvListener, WvTimeoutStream, WvIStreamList, and _WvConStream.
Definition at line 39 of file wverror.h.
Referenced by WvGlob::set().
virtual int WvErrorBase::geterr | ( | ) | const [inline, virtual, inherited] |
If isok() is false, return the system error number corresponding to the error, -1 for a special error string (which you can obtain with errstr()) or 0 on end of file.
If isok() is true, returns an undefined number.
Reimplemented in WvStreamClone, and WvDBusServer.
Definition at line 48 of file wverror.h.
Referenced by UniIniGen::commit(), UniFileSystemGen::get(), WvStreamClone::geterr(), WvEncoderStream::isok(), UniConfDaemon::listen(), UniIniGen::refresh(), WvStream::seterr(), and WvMagicCircle::WvMagicCircle().
void WvErrorBase::seterr | ( | int | _errnum | ) | [virtual, inherited] |
Set the errnum variable -- we have an error.
If called more than once, seterr() doesn't change the error code away from the previous one. That way, we remember the _original_ cause of our problems.
Subclasses may want to override seterr(int) to shut themselves down (eg. WvStream::close()) when an error condition is set.
Note that seterr(WvString) will call seterr(-1).
Reimplemented in WvStream.
Definition at line 144 of file wverror.cc.
Referenced by WvUnixListener::accept(), WvTCPListener::accept(), WvDSAKey::getpem(), WvGlob::set(), WvMagicCircle::WvMagicCircle(), WvPam::WvPam(), WvShmZone(), and WvTCPListener::WvTCPListener().
void WvErrorBase::noerr | ( | ) | [inline, inherited] |