• Juan David González Cobas's avatar
    make (almost) every call to ertm_proto_cycle atomic · 29fffc60
    Juan David González Cobas authored
    To make libertm thread-safe, calls to ertm_proto_cycle must be completed
    in an atomic manner, ensuring that the serial link to the wrpc is used
    in an exclusive manner by each client thread.
    
    There is only one exception to this rule, and a crucial one: there are
    separate operations for sending config values to the wrpc, and for
    committing the sent values. The doublet of the two calls to
    set_board_config and commit_board_config, which are called only in one
    place and always in sequence, must be atomic in its entirety, which is
    most simply achieved by defining a larger critical section in
    update_board_config. This is ugly, but the shortest path to fully atomic
    operations from the way the code was originally organized.
    29fffc60
Name
Last commit
Last update
arch/lm32 Loading commit data...
boards Loading commit data...
configs Loading commit data...
dev Loading commit data...
doc Loading commit data...
host Loading commit data...
include Loading commit data...
ipc Loading commit data...
lib Loading commit data...
libertm Loading commit data...
liblinux Loading commit data...
monitor Loading commit data...
pp_printf Loading commit data...
ppsi @ f5d69067
scripts Loading commit data...
sdb-lib Loading commit data...
shell Loading commit data...
softpll Loading commit data...
test/snmp Loading commit data...
tools Loading commit data...
ual @ e3abe4c0
.gitignore Loading commit data...
.gitmodules Loading commit data...
COPYING Loading commit data...
Kconfig Loading commit data...
MAKEALL Loading commit data...
Makefile Loading commit data...
Makefile.kconfig Loading commit data...
check-error.c Loading commit data...
compare_size.sh Loading commit data...
dump-info.c Loading commit data...
revision.c Loading commit data...
save_size.sh Loading commit data...
system_checks.c Loading commit data...
wrc_main.c Loading commit data...
wrc_main_sim.c Loading commit data...