Skip to content

Commit 8dd0e0a

Browse files
author
mstern98
authored
Update README.md
1 parent a31db4c commit 8dd0e0a

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ Debug
5353

5454
# Errata
5555
## Edge/vertex modification
56-
Modifying/deleting vertices and edges inside f() not using submit request
56+
Modifying/deleting vertices and edges inside f() not using submit request
5757
can lead to undefined behavior or dead locks. This is because in CONTEXT
5858
set to SWITCH or NONE with many starting vertices, can lead to a structure
5959
being NULL’d with its lock destroyed while another thread is holding that lock
@@ -64,43 +64,43 @@ mitigate this problem, the client should use submit request which will handle
6464
the requests sequentially with destroying structures last.
6565

6666
## Graph modification
67-
Trying to delete the graph while running will result in undefined behav-
67+
Trying to delete the graph while running will result in undefined behav-
6868
ior. Destroying the graph does not lock any thread and thus will cause race
6969
conditions. The graph should be deleted only once all threads reach a sink.
7070

7171
## Parameter Passing
72-
Parameters passed to edges or vertices functions will be free’d immediately
72+
Parameters passed to edges or vertices functions will be free’d immediately
7373
after use and therefore will cause an error should they try and be accessed. To
7474
mitigate the values may be stored in the edge’s or vertex’s global or shared
7575
variables. Any non standard data type, such as struct, is dependent on the user
7676
to free its content as the library will only free the pointer to the struct and the
7777
pointer to the array of variables.
7878

7979
## Illegal Arguments
80-
Passing wrong values or wrong number of variables to any function will result
80+
Passing wrong values or wrong number of variables to any function will result
8181
in failure. A client should be aware of which vertices connect and what edges
8282
it has and the proper handling required between such connections. Should the
8383
client choose to dynamically add/remove vertices or edges or even modify while
8484
running should be aware of the changes that may occur in the graph and the
8585
resulting change in dependence on proper variable handling.
8686

8787
## Graph Modification (cont.)
88-
It is possible to modify the graph while it is running. To do so the client
88+
It is possible to modify the graph while it is running. To do so the client
8989
should submit request to add a change or pause the graph. Making any changes
9090
externally may result in undefined behavior if done improperly. Modifying the
9191
graph directly while running could result in failure.
9292
Should the number of init vertex args not much the number of vertices in
9393
the start set the program will result in an error.
9494

9595
## Data Structure Errata
96-
Stacks and AVLTree can take non malloc’d data and function normally
96+
Stacks and AVLTree can take non malloc’d data and function normally
9797
within scope of those non malloc’d data. However, in another scope the memory
9898
will be unaddressable and thus should be malloc’d memory instead. The stack
9999
and AVL Tree wll not free the void * data since the void * data structure is
100100
unknown to them and thus the client should free the memory.
101101

102102
## SWITCH_UNSAFE
103-
Should SWITCH_USNAFE be used as the context, then the graph will run like
103+
Should SWITCH_USNAFE be used as the context, then the graph will run like
104104
how it runs in SWITCH, but the variables shared between the edge and the second vertex
105105
b will be passed to the edges function. Trying to read the shared variables may lead to a
106106
race condition in which vertex b or one/some of it's edges are modifying those varibales.

0 commit comments

Comments
 (0)