resulting body/handle is not valid() */
virtual ~FileBody();
+ // NO DESTRUCTOR HERE (that is, only an empty virtual destructor) - destructors and virtual
+ // functions don't mix. What would be in the the destructor is in 'destroyClose()' which is
+ // called from FileHandle::~FileHandle() *before* the last handle dies.
+
// no copy
// no conversion constructors
void close();
void terminate();
+ void destroyClose();
bool readable() const;
void waitReadable() const;