From owner-cvs-all Sat Sep 19 18:08:33 1998 Return-Path: Received: (from daemon@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA02833 for cvs-all-outgoing; Sat, 19 Sep 1998 18:08:33 -0700 (PDT) (envelope-from owner-cvs-all) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA02775; Sat, 19 Sep 1998 18:08:15 -0700 (PDT) (envelope-from alex@FreeBSD.org) From: Alex Nash Received: (from alex@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id SAA17394; Sat, 19 Sep 1998 18:07:50 -0700 (PDT) Date: Sat, 19 Sep 1998 18:07:50 -0700 (PDT) Message-Id: <199809200107.SAA17394@freefall.freebsd.org> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: cvs commit: src/lib/libc/stdlib malloc.c Sender: owner-cvs-all@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk alex 1998/09/19 18:07:50 PDT Modified files: lib/libc/stdlib malloc.c Log: Back out part of previous commit (even though it's technically correct). Our spinlock implementation allows a particular thread to obtain a lock multiple times, but release the lock with a single unlock call. Since we're detecting recursion, we know the lock is already owned by the current thread in a previous call and must not be released in the current call. This is really far too dependent on this particular spinlock implementation, so I've added commented out calls to THREAD_UNLOCK in the appropriate places. We can activate this code when spinlock is taught to count each lock operation. Revision Changes Path 1.41 +17 -1 src/lib/libc/stdlib/malloc.c