Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Feb 2003 23:29:01 +0200
From:      Giorgos Keramidas <keramida@ceid.upatras.gr>
To:        current@FreeBSD.ORG
Subject:   Re: cvs commit: src/sys/alpha/alpha busdma_machdep.c src/sys/alpha/osf1 imgact_osf1.c osf1_misc.c src/sys/cam cam_periph.c cam_sim.c cam_xpt.c src/sys/cam/scsi scsi_cd.c scsi_ch.c scsi_da.c scsi_low.c scsi_sa.c scsi_target.c src/sys/coda cnode.h ...
Message-ID:  <20030219212901.GA27148@gothmog.gr>
In-Reply-To: <76449.1045642469@critter.freebsd.dk>
References:  <200302190547.h1J5ll1J064169@repoman.freebsd.org> <76449.1045642469@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2003-02-19 09:14, phk@phk.freebsd.dk wrote:
> The attached patch will print a backtrace if any calls to malloc
> fail to have either M_WAITOK or M_NOWAIT. [...]

> --- kern/kern_malloc.c	19 Feb 2003 05:47:25 -0000	1.116
> +++ kern/kern_malloc.c	19 Feb 2003 07:55:19 -0000
> @@ -167,11 +167,21 @@
>  #endif
>  	register struct malloc_type *ksp = type;
>
> +	indx = flags & (M_WAITOK | M_NOWAIT);
> +	if (indx == M_NOWAIT) {
> +		/* OK */
> +	} else if (indx == M_WAITOK) {
> +		/* OK */
> +	} else {

Or, a simpler version:

	/* Either M_NOWAIT or M_WAITOK must be set. */
	if (indx != M_NOWAIT && indx != M_WAITOK) {
		printf("Missing M_WAITOK flag\n");
		backtrace();
		flags |= M_WAITOK;
	}

:=)


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030219212901.GA27148>