/*! Closes the socket. In order to use the socket again, initialize() must be called. */ void QNativeSocketEngine::close() { Q_D(QNativeSocketEngine); if (d->readNotifier) d->readNotifier->setEnabled(false); if (d->writeNotifier) d->writeNotifier->setEnabled(false); if (d->exceptNotifier) d->exceptNotifier->setEnabled(false); if(d->socketDescriptor != -1) { d->nativeClose(); d->socketDescriptor = -1; } d->socketState = QAbstractSocket::UnconnectedState; d->hasSetSocketError = false; d->localPort = 0; d->localAddress.clear(); d->peerPort = 0; d->peerAddress.clear(); if (d->readNotifier) { qDeleteInEventHandler(d->readNotifier); d->readNotifier = 0; } if (d->writeNotifier) { qDeleteInEventHandler(d->writeNotifier); d->writeNotifier = 0; } if (d->exceptNotifier) { qDeleteInEventHandler(d->exceptNotifier); d->exceptNotifier = 0; } }
void Q3SocketPrivate::closeSocket() { // Order is important here - the socket notifiers must go away // before the socket does, otherwise libc or the kernel will // become unhappy. if (rsn) { qDeleteInEventHandler(rsn); rsn = 0; } if (wsn) { qDeleteInEventHandler(wsn); wsn = 0; } if ( socket ) socket->close(); }
Q3NetworkOperation::~Q3NetworkOperation() { qDeleteInEventHandler(d->deleteTimer); delete d; }