| summaryrefslogtreecommitdiff | 
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-06-29 15:20:24 +0200 | 
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-06-29 15:20:24 +0200 | 
| commit | 8d5c996aef28fae9f848e1fab419b4d2821e8862 (patch) | |
| tree | a2b5fac4ee5b3e21711fe80c273f300541d16844 /src/knowledge/knowledge_swt_tws_modifications.c | |
| parent | f7c5db9a32bb0082b59e73fa01656cd083756c3d (diff) | |
First shot at finer mutexes.
Diffstat (limited to 'src/knowledge/knowledge_swt_tws_modifications.c')
| -rw-r--r-- | src/knowledge/knowledge_swt_tws_modifications.c | 20 | 
1 files changed, 20 insertions, 0 deletions
| diff --git a/src/knowledge/knowledge_swt_tws_modifications.c b/src/knowledge/knowledge_swt_tws_modifications.c index 2acd093..cc8a938 100644 --- a/src/knowledge/knowledge_swt_tws_modifications.c +++ b/src/knowledge/knowledge_swt_tws_modifications.c @@ -163,6 +163,8 @@ int JH_knowledge_strengthen_swt  {     JH_index s_index, t_index; +   JH_knowledge_writelock_word(k, word_id, io); +     if     (        JH_knowledge_find_markov_sequence @@ -184,6 +186,8 @@ int JH_knowledge_strengthen_swt           ) < 0        )        { +         JH_knowledge_writeunlock_word(k, word_id, io); +           return -1;        }     } @@ -210,6 +214,8 @@ int JH_knowledge_strengthen_swt           ) < 0        )        { +         JH_knowledge_writeunlock_word(k, word_id, io); +           return -1;        }     } @@ -233,12 +239,16 @@ int JH_knowledge_strengthen_swt           "[W] Unable to strengthen SWT link: link is already at max strength."        ); +      JH_knowledge_writeunlock_word(k, word_id, io); +        return 1;     }     k->words[word_id].swt.sequences_ref[s_index].occurrences += 1;     k->words[word_id].swt.sequences_ref[s_index].targets[t_index].occurrences += 1; +   JH_knowledge_writeunlock_word(k, word_id, io); +     return 0;  } @@ -253,6 +263,8 @@ int JH_knowledge_strengthen_tws  {     JH_index s_index, t_index; +   JH_knowledge_writelock_word(k, word_id, io); +     if     (        JH_knowledge_find_markov_sequence @@ -274,6 +286,8 @@ int JH_knowledge_strengthen_tws           ) < 0        )        { +         JH_knowledge_writeunlock_word(k, word_id, io); +           return -1;        }     } @@ -300,6 +314,8 @@ int JH_knowledge_strengthen_tws           ) < 0        )        { +         JH_knowledge_writeunlock_word(k, word_id, io); +           return -1;        }     } @@ -323,11 +339,15 @@ int JH_knowledge_strengthen_tws           "[E] Unable to strengthen TWS link: link is already at max strength."        ); +      JH_knowledge_writeunlock_word(k, word_id, io); +        return -1;     }     k->words[word_id].tws.sequences_ref[s_index].occurrences += 1;     k->words[word_id].tws.sequences_ref[s_index].targets[t_index].occurrences += 1; +   JH_knowledge_writeunlock_word(k, word_id, io); +     return 0;  } | 


