Demonstrates a race condition
Revision 4:e1c35030b91a, committed 2019-09-18
- Comitter:
- noutram
- Date:
- Wed Sep 18 10:28:12 2019 +0000
- Parent:
- 3:e5c2bfd464f7
- Child:
- 5:5dcfbaa2e549
- Commit message:
- 2019
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Wed Sep 18 10:17:32 2019 +0000
+++ b/main.cpp Wed Sep 18 10:28:12 2019 +0000
@@ -5,7 +5,7 @@
#define PRESSED 1
#ifdef TARGET_NUCLEO_F429ZI
-//#define ONBOARD
+#define ONBOARD
#endif
#ifdef ONBOARD
@@ -29,6 +29,7 @@
//RED MEANS THE COUNT UP FUNCTION IS IN ITS CRITICAL SECTION
red_led = 1;
for (unsigned int n=0; n<N; n++) {
+ CriticalSectionLock::enable();
counter++;
counter++;
counter++;
@@ -39,7 +40,7 @@
counter++;
counter++;
counter++;
-
+ CriticalSectionLock::disable();
}
red_led = 0;
@@ -55,6 +56,7 @@
//YELLOW MEANS THE COUNT DOWN FUNCTION IS IN ITS CRITICAL SECTION
yellow_led = 1;
for (unsigned int n=0; n<N; n++) {
+ CriticalSectionLock::enable();
counter--;
counter--;
counter--;
@@ -64,7 +66,8 @@
counter--;
counter--;
counter--;
- counter--;
+ counter--;
+ CriticalSectionLock::disable();
}
yellow_led = 0;