public boolean setsockopt(int option_, Object optval_) {
        
        if (ctx_terminated) {
            ZError.errno(ZError.ETERM);
            return false;
        }

        //  First, check whether specific socket type overloads the option.
        boolean rc = xsetsockopt (option_, optval_);
        if (rc || !ZError.is(ZError.EINVAL))
            return false;

        //  If the socket type doesn't support the option, pass it to
        //  the generic option parser.
        ZError.clear();
        return options.setsockopt (option_, optval_);
    }