Quellcode durchsuchen

Added answers to S1-1

Lorenz Bung vor 8 Jahren
Ursprung
Commit
979ba5dd29
1 geänderte Dateien mit 14 neuen und 8 gelöschten Zeilen
  1. 14
    8
      hw8/simu1/ANSWERS.md

+ 14
- 8
hw8/simu1/ANSWERS.md Datei anzeigen

@@ -1,7 +1,6 @@
1 1
 # hw8 - Simulation 1 - Antworten
2 2
 
3 3
 1. Helgrind markiert die richtigen Stellen im Code:
4
-
5 4
     ```text
6 5
     ==1930== Possible data race during write of size 4 at 0x60207C by thread #1
7 6
     ==1930== Locks held: none
@@ -11,16 +10,23 @@
11 10
     ==1930== Locks held: none
12 11
     ==1930==    at 0x400C5A: worker (main-race.c:8)
13 12
     ```
13
+    Weiterhin erhält man die Information über den Lock (hier `none`), die Art des Problems (`Possible data race`) und die Größe der Daten, die geschrieben werden.
14 14
 
15
-2. Blah
15
+2. Codekorrektur
16 16
 
17
-    1.
17
+    1. Wenn ich eine der Zeilen lösche (bzw. auskommentiere), meldet helgrind keinen Fehler mehr (auch nicht für die zweite betreffende Zeile).
18 18
 
19
-    2.
20
-
21
-    3.
22
-
23
-    4.
19
+    2. Wenn man nur bei einer Variable den Lock setzt, erkennt helgrind den Fehler:
20
+    ```text
21
+    ==18432== Possible data race during write of size 4 at 0x602084 by thread #1
22
+    ==18432== Locks held: none
23
+    ==18432==    at 0x400CB2: main (main-race.c:18)
24
+    ==18432==
25
+    ==18432== This conflicts with a previous write of size 4 by thread #2
26
+    ==18432== Locks held: 1, at address 0x6020A0
27
+    ==18432==    at 0x400C68: worker (main-race.c:10)
28
+    ```
29
+    3. Wenn man bei beiden Variablen einen Lock setzt, findet helgrind wieder keine Fehler.
24 30
 
25 31
 3.
26 32
 

Laden…
Abbrechen
Speichern