From ef5b05f89b4b07c080d758f72637d8b6b89167b5 Mon Sep 17 00:00:00 2001 From: Rudolf Cornelissen Date: Mon, 5 Jan 2004 18:17:36 +0000 Subject: [PATCH] fixed destroying benaphores in uninit_accelerant git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5917 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/accelerants/neomagic/InitAccelerant.c | 11 ++++++++--- src/add-ons/accelerants/nvidia/InitAccelerant.c | 11 ++++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/add-ons/accelerants/neomagic/InitAccelerant.c b/src/add-ons/accelerants/neomagic/InitAccelerant.c index 2bd4ee6103..43e3e71762 100644 --- a/src/add-ons/accelerants/neomagic/InitAccelerant.c +++ b/src/add-ons/accelerants/neomagic/InitAccelerant.c @@ -308,13 +308,18 @@ error0: void UNINIT_ACCELERANT(void) { if (accelerantIsClone) + { LOG(4,("UNINIT_ACCELERANT: shutting down clone accelerant.\n")); + } else + { LOG(4,("UNINIT_ACCELERANT: shutting down primary accelerant.\n")); - /*delete benaphore*/ - DELETE_BEN(si->engine.lock); - DELETE_BEN(si->overlay.lock); + /* delete benaphores ONLY if we are the primary accelerant */ + DELETE_BEN(si->engine.lock); + DELETE_BEN(si->overlay.lock); + } + /* free our mode list area */ delete_area(my_mode_list_area); /* paranoia */ diff --git a/src/add-ons/accelerants/nvidia/InitAccelerant.c b/src/add-ons/accelerants/nvidia/InitAccelerant.c index 197680e7ab..7fcd0bfe62 100644 --- a/src/add-ons/accelerants/nvidia/InitAccelerant.c +++ b/src/add-ons/accelerants/nvidia/InitAccelerant.c @@ -291,13 +291,18 @@ error0: void UNINIT_ACCELERANT(void) { if (accelerantIsClone) + { LOG(4,("UNINIT_ACCELERANT: shutting down clone accelerant.\n")); + } else + { LOG(4,("UNINIT_ACCELERANT: shutting down primary accelerant.\n")); - /*delete benaphore*/ - DELETE_BEN(si->engine.lock); - DELETE_BEN(si->overlay.lock); + /* delete benaphores ONLY if we are the primary accelerant */ + DELETE_BEN(si->engine.lock); + DELETE_BEN(si->overlay.lock); + } + /* free our mode list area */ delete_area(my_mode_list_area); /* paranoia */