aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/reports/STM32F103-72.txt31
-rw-r--r--docs/reports/coverage.txt8
-rw-r--r--docs/reports/kernel.txt156
-rw-r--r--test/testdyn.c37
4 files changed, 118 insertions, 114 deletions
diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt
index 558b5cde5..159f71229 100644
--- a/docs/reports/STM32F103-72.txt
+++ b/docs/reports/STM32F103-72.txt
@@ -5,8 +5,8 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states)
*** ChibiOS/RT test suite
***
-*** Kernel: 1.5.5unstable
-*** GCC Version: 4.4.2
+*** Kernel: 1.5.6unstable
+*** GCC Version: 4.5.0
*** Architecture: ARMv7-M
*** Core Variant: Cortex-M3
*** Platform: STM32
@@ -85,6 +85,9 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states)
--- Test Case 9.2 (Dynamic APIs, threads creation from memory pool)
--- Result: SUCCESS
----------------------------------------------------------------------------
+--- Test Case 9.3 (Dynamic APIs, registry and references)
+--- Result: SUCCESS
+----------------------------------------------------------------------------
--- Test Case 10.1 (Queues, input queues)
--- Result: SUCCESS
----------------------------------------------------------------------------
@@ -92,51 +95,51 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.1 (Benchmark, messages #1)
---- Score : 249456 msgs/S, 498912 ctxswc/S
+--- Score : 250283 msgs/S, 500566 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.2 (Benchmark, messages #2)
---- Score : 197915 msgs/S, 395830 ctxswc/S
+--- Score : 203498 msgs/S, 406996 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.3 (Benchmark, messages #3)
---- Score : 197915 msgs/S, 395830 ctxswc/S
+--- Score : 203498 msgs/S, 406996 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.4 (Benchmark, context switch)
---- Score : 829384 ctxswc/S
+--- Score : 838936 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.5 (Benchmark, threads, full cycle)
---- Score : 152537 threads/S
+--- Score : 159279 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.6 (Benchmark, threads, create only)
---- Score : 221748 threads/S
+--- Score : 228043 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads)
---- Score : 61567 reschedules/S, 369402 ctxswc/S
+--- Score : 62250 reschedules/S, 373500 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.8 (Benchmark, round robin context switching)
---- Score : 487900 ctxswc/S
+--- Score : 481292 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.9 (Benchmark, I/O Queues throughput)
---- Score : 474864 bytes/S
+--- Score : 487684 bytes/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.10 (Benchmark, virtual timers set/reset)
---- Score : 647306 timers/S
+--- Score : 647206 timers/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.11 (Benchmark, semaphores wait/signal)
---- Score : 833124 wait+signal/S
+--- Score : 823472 wait+signal/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.12 (Benchmark, mutexes lock/unlock)
---- Score : 644432 lock+unlock/S
+--- Score : 638608 lock+unlock/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.13 (Benchmark, RAM footprint)
diff --git a/docs/reports/coverage.txt b/docs/reports/coverage.txt
index 8cd9ad7df..7148f40f3 100644
--- a/docs/reports/coverage.txt
+++ b/docs/reports/coverage.txt
@@ -21,11 +21,11 @@ Lines executed:100.00% of 65
../../os/kernel/src/chschd.c:creating `chschd.c.gcov'
File `../../os/kernel/src/chthreads.c'
-Lines executed:95.00% of 120
+Lines executed:100.00% of 120
../../os/kernel/src/chthreads.c:creating `chthreads.c.gcov'
File `../../os/kernel/src/chregistry.c'
-Lines executed:0.00% of 18
+Lines executed:100.00% of 18
../../os/kernel/src/chregistry.c:creating `chregistry.c.gcov'
File `../../os/kernel/src/chsem.c'
@@ -57,7 +57,7 @@ Lines executed:100.00% of 110
../../os/kernel/src/chqueues.c:creating `chqueues.c.gcov'
File `../../os/kernel/src/chmemcore.c'
-Lines executed:90.00% of 20
+Lines executed:100.00% of 20
../../os/kernel/src/chmemcore.c:creating `chmemcore.c.gcov'
File `../../os/kernel/src/chheap.c'
@@ -65,7 +65,7 @@ Lines executed:100.00% of 79
../../os/kernel/src/chheap.c:creating `chheap.c.gcov'
File `../../os/kernel/src/chmempools.c'
-Lines executed:96.43% of 28
+Lines executed:100.00% of 28
../../os/kernel/src/chmempools.c:creating `chmempools.c.gcov'
mv -f *.gcov ./gcov
diff --git a/docs/reports/kernel.txt b/docs/reports/kernel.txt
index b50474724..1e29c5269 100644
--- a/docs/reports/kernel.txt
+++ b/docs/reports/kernel.txt
@@ -36,237 +36,237 @@ Kernel Size = 2200
Platform : ARM Cortex-M3
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE
-Kernel Size = 5540
+Kernel Size = 5748
Platform : ARM Cortex-M3
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE
-Kernel Size = 5108
+Kernel Size = 5280
Platform : ARM Cortex-M3
OS Setup : Minimal kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb
-Kernel Size = 1532
+Kernel Size = 1512
Platform : ARM Cortex-M3
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE
-Kernel Size = 5320
+Kernel Size = 5192
Platform : ARM Cortex-M3
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE
-Kernel Size = 4936
+Kernel Size = 4820
Platform : ARM Cortex-M3
OS Setup : Minimal kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb
-Kernel Size = 1460
+Kernel Size = 1340
Platform : ARM Cortex-M3
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE
-Kernel Size = 5128
+Kernel Size = 4980
Platform : ARM Cortex-M3
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE
-Kernel Size = 4760
+Kernel Size = 4624
Platform : ARM Cortex-M3
OS Setup : Minimal kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\"
-Kernel Size = 1420
+Kernel Size = 1284
Platform : ARM Cortex-M0
OS Setup : Full kernel
-Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE
-Kernel Size = 4996
+Kernel Size = 5060
Platform : ARM Cortex-M0
OS Setup : Full kernel
-Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE
-Kernel Size = 4788
+Kernel Size = 4872
Platform : ARM Cortex-M0
OS Setup : Minimal kernel
-Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb
-Kernel Size = 1352
+Kernel Size = 1348
Platform : ARM Cortex-M0
OS Setup : Full kernel
-Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE
-Kernel Size = 4696
+Kernel Size = 4672
Platform : ARM Cortex-M0
OS Setup : Full kernel
-Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE
-Kernel Size = 4524
+Kernel Size = 4516
Platform : ARM Cortex-M0
OS Setup : Minimal kernel
-Compiler : arm-none-eabi-gcc (Code Red/Red Suite 2/2009_01) 4.3.3
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb
-Kernel Size = 1260
+Kernel Size = 1252
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE
-Kernel Size = 7824
+Kernel Size = 8380
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE
-Kernel Size = 7420
+Kernel Size = 7928
Platform : ARM7TDMI (ARM mode)
OS Setup : Minimal kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2
-Kernel Size = 1868
+Kernel Size = 1884
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -DCH_OPTIMIZE_SPEED=TRUE
-Kernel Size = 7592
+Kernel Size = 7772
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -DCH_OPTIMIZE_SPEED=FALSE
-Kernel Size = 7216
+Kernel Size = 7408
Platform : ARM7TDMI (ARM mode)
OS Setup : Minimal kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os
-Kernel Size = 1824
+Kernel Size = 1676
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE
-Kernel Size = 7548
+Kernel Size = 8100
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE
-Kernel Size = 7152
+Kernel Size = 7660
Platform : ARM7TDMI (ARM mode)
OS Setup : Minimal kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\"
-Kernel Size = 1796
+Kernel Size = 1816
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE
-Kernel Size = 7300
+Kernel Size = 7480
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE
-Kernel Size = 6940
+Kernel Size = 7136
Platform : ARM7TDMI (ARM mode)
OS Setup : Minimal kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\"
-Kernel Size = 1772
+Kernel Size = 1608
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
-Kernel Size = 5156
+Kernel Size = 5604
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
-Kernel Size = 4952
+Kernel Size = 5396
Platform : ARM7TDMI (THUMB mode)
OS Setup : Minimal kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
-Kernel Size = 1312
+Kernel Size = 1364
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
-Kernel Size = 4988
+Kernel Size = 5240
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
-Kernel Size = 4796
+Kernel Size = 5048
Platform : ARM7TDMI (THUMB mode)
OS Setup : Minimal kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
-Kernel Size = 1292
+Kernel Size = 1272
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
-Kernel Size = 5000
+Kernel Size = 5456
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
-Kernel Size = 4812
+Kernel Size = 5264
Platform : ARM7TDMI (THUMB mode)
OS Setup : Minimal kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -O2 -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
-Kernel Size = 1268
+Kernel Size = 1316
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
-Kernel Size = 4792
+Kernel Size = 5016
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
-Kernel Size = 4636
+Kernel Size = 4856
Platform : ARM7TDMI (THUMB mode)
OS Setup : Minimal kernel
-Compiler : arm-elf-gcc (GCC) 4.4.2
+Compiler : arm-none-eabi-gcc (GCC) 4.5.0
Options : -Os -mthumb -ffixed-r7 -DCH_CURRP_REGISTER_CACHE=\"r7\" -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
-Kernel Size = 1252
+Kernel Size = 1220
Platform : MSP430
OS Setup : Full kernel
diff --git a/test/testdyn.c b/test/testdyn.c
index dcd2d951e..345076828 100644
--- a/test/testdyn.c
+++ b/test/testdyn.c
@@ -53,6 +53,12 @@
*/
#if CH_USE_DYNAMIC
+#if CH_USE_HEAP
+static MemoryHeap heap1;
+#endif
+#if CH_USE_MEMPOOLS
+static MemoryPool mp1;
+#endif
/**
* @page test_dynamic_001 Threads creation from Memory Heap
@@ -72,9 +78,6 @@ static msg_t thread(void *p) {
}
#if CH_USE_HEAP
-
-static MemoryHeap heap1;
-
static char *dyn1_gettest(void) {
return "Dynamic APIs, threads creation from heap";
@@ -138,8 +141,6 @@ const struct testcase testdyn1 = {
* one to fail.
*/
-static MemoryPool mp1;
-
static char *dyn2_gettest(void) {
return "Dynamic APIs, threads creation from memory pool";
@@ -190,7 +191,7 @@ const struct testcase testdyn2 = {
};
#endif /* CH_USE_MEMPOOLS */
-#if CH_USE_HEAP
+#if CH_USE_HEAP && CH_USE_REGISTRY
/**
* @page test_dynamic_003 Registry and References test
*
@@ -223,6 +224,7 @@ static void dyn3_setup(void) {
static void dyn3_execute(void) {
unsigned n1, n2, n3;
+ Thread *tp;
tprio_t prio = chThdGetPriority();
/* Current number of threads in the system, two times just in case some
@@ -231,23 +233,22 @@ static void dyn3_execute(void) {
n1 = regscan();
/* Testing references increase/decrease and final detach.*/
- threads[0] = chThdCreateFromHeap(&heap1, THD_WA_SIZE(THREADS_STACK_SIZE),
- prio-1, thread, "A");
- test_assert(1, threads[0]->p_refs == 1, "wrong initial reference counter");
- chThdAddRef(threads[0]);
- test_assert(2, threads[0]->p_refs == 2, "references increase failure");
- chThdRelease(threads[0]);
- test_assert(3, threads[0]->p_refs == 1, "references decrease failure");
+ tp = chThdCreateFromHeap(&heap1, WA_SIZE, prio-1, thread, "A");
+ test_assert(1, tp->p_refs == 1, "wrong initial reference counter");
+ chThdAddRef(tp);
+ test_assert(2, tp->p_refs == 2, "references increase failure");
+ chThdRelease(tp);
+ test_assert(3, tp->p_refs == 1, "references decrease failure");
/* Verify the new threads count.*/
n2 = regscan();
test_assert(4, n1 == n2 - 1, "unexpected threads count");
/* Detach and let the thread execute and terminate.*/
- chThdRelease(threads[0]);
- test_assert(5, threads[0]->p_refs == 0, "detach failure");
+ chThdRelease(tp);
+ test_assert(5, tp->p_refs == 0, "detach failure");
chThdSleepMilliseconds(50); /* The thread just terminates. */
- test_assert(6, threads[0]->p_state == THD_STATE_FINAL, "invalid state");
+ test_assert(6, tp->p_state == THD_STATE_FINAL, "invalid state");
/* Clearing the zombie by scanning the registry.*/
n3 = regscan();
@@ -260,7 +261,7 @@ const struct testcase testdyn3 = {
NULL,
dyn3_execute
};
-#endif /* CH_USE_HEAP */
+#endif /* CH_USE_HEAP && CH_USE_REGISTRY */
#endif /* CH_USE_DYNAMIC */
/**
@@ -274,7 +275,7 @@ const struct testcase * const patterndyn[] = {
#if CH_USE_MEMPOOLS
&testdyn2,
#endif
-#if CH_USE_HEAP
+#if CH_USE_HEAP && CH_USE_REGISTRY
&testdyn3,
#endif
#endif