changeset 43:77d12a81e467

Make secondary threads exit during shutdown... also removed _dw_pool_drain() it shouldn't be needed anymore if the local pool code works properly.
author Brian Smith <brian@dbsoft.org>
date Wed, 25 Jan 2012 02:29:28 -0600
parents 9bbda6e774ae
children 7842d33cbba1
files cc.c
diffstat 1 files changed, 2 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/cc.c	Thu Jan 19 23:23:10 2012 -0600
+++ b/cc.c	Wed Jan 25 02:29:28 2012 -0600
@@ -333,9 +333,6 @@
 		}
 		dw_mutex_unlock(hMtx);
 
-#if defined(__MAC__) && !defined(GARBAGE_COLLECT)
-		_dw_pool_drain();
-#endif
 	}
 	display_destroy();
 }
@@ -399,6 +396,7 @@
 	{
 	case IDM_EXIT:
 		{
+			display_active = FALSE;
 			update_pos();
 			saveconfig();
 			dw_main_quit();
@@ -1204,7 +1202,7 @@
 
 void DWSIGNAL drive_update_thread(struct _instance *inst)
 {
-	while(inst && inst->custom)
+	while(inst && inst->custom && display_active)
 	{
 		BarConfig *bars = (BarConfig *)inst->custom;
 		int drive = DW_POINTER_TO_INT(bars->user);
@@ -1225,9 +1223,6 @@
 			ScaledPrint(&bars->text[bars->len], free, 1);
 			dw_mutex_unlock(hMtx);
 		}
-#if defined(__MAC__) && !defined(GARBAGE_COLLECT)
-		_dw_pool_drain();
-#endif
 		msleep(1000);
 	}
 }