rem: (void) (*drvPtr->proc)(DriverClose, sock, NULL, 0);
context: NsSockClose(Sock *sockPtr, int keep){    Driver *drvPtr = sockPtr->drvPtr;    Ns_Sock *sock = (Ns_Sock *) sockPtr;    if (keep && drvPtr->keepwait > 0	    && (*drvPtr->proc)(DriverKeep, sock, NULL, 0) == 0) {        sockPtr->state = SOCK_READWAIT;    } else {    	sockPtr->state = SOCK_CLOSEWAIT;	(void) (*drvPtr->proc)(DriverClose, sock, NULL, 0);    }    Ns_MutexLock(&drvPtr->lock);    sockPtr->nextPtr = drvPtr->closeSockPtr;    drvPtr->closeSockPtr = sockPtr;    Ns_MutexUnlock(&drvPtr->lock);    TriggerDriver(drvPtr);}