diff options
Diffstat (limited to 'lib/dialyzer/test/race_SUITE_data/src/mnesia_dirty_read_write_two.erl')
-rw-r--r-- | lib/dialyzer/test/race_SUITE_data/src/mnesia_dirty_read_write_two.erl | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/dialyzer/test/race_SUITE_data/src/mnesia_dirty_read_write_two.erl b/lib/dialyzer/test/race_SUITE_data/src/mnesia_dirty_read_write_two.erl new file mode 100644 index 0000000000..037aeddafd --- /dev/null +++ b/lib/dialyzer/test/race_SUITE_data/src/mnesia_dirty_read_write_two.erl @@ -0,0 +1,20 @@ +%% This tests the presence of possible races due to an mnesia:dirty_read/ +%% mnesia:dirty_write combination. It takes into account the argument types +%% of the calls. + +-module(mnesia_dirty_read_write_two). +-export([raise/2]). + +-record(employee, {emp_no, + name, + salary, + sex, + phone, + room_no}). + + +raise(Eno, Raise) -> + [E] = mnesia:dirty_read(employee, Eno), + Salary = E#employee.salary + Raise, + New = E#employee{salary = Salary}, + mnesia:dirty_write(employee, New). |