Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
slash
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
uplex-varnish
slash
Commits
2dc06549
Unverified
Commit
2dc06549
authored
Nov 26, 2023
by
Nils Goroll
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Flexelint: Properly declare unlock semantics of fellow_cache_obj_free()
parent
c66cfac5
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
1 addition
and
9 deletions
+1
-9
fellow_cache.c
src/fellow_cache.c
+0
-9
flint.lnt
src/flint.lnt
+1
-0
No files found.
src/fellow_cache.c
View file @
2dc06549
...
...
@@ -1532,7 +1532,6 @@ fellow_cache_obj_free(const struct fellow_cache *fc,
AZ
(
fcs
->
fco_infdb
);
AZ
(
fcs
->
fcs_onlru
);
//lint --e{455} mutex unlocked
AZ
(
pthread_mutex_unlock
(
&
fco
->
mtx
));
AZ
(
pthread_mutex_destroy
(
&
fco
->
mtx
));
AZ
(
pthread_cond_destroy
(
&
fco
->
cond
));
...
...
@@ -2731,8 +2730,6 @@ fellow_cache_read_complete(struct fellow_cache *fc, void *ptr, int32_t result)
assert_fcos_transition
(
fcs
->
state
,
fcos_next
);
//lint --e{456} Two execution paths are being combined...
//lint --e{454} A thread mutex has been locked...
AZ
(
pthread_mutex_lock
(
&
fco
->
mtx
));
fellow_cache_seg_transition_locked
(
lcb
,
fcs
,
fcs
->
state
,
fcos_next
);
// io holds a ref on the seg and the fco
...
...
@@ -4670,7 +4667,6 @@ fellow_cache_obj_redundant(const struct fellow_cache *fc,
* and the other call side requires it
*/
//lint --e{454} locked but not unlocked
AZ
(
pthread_mutex_lock
(
&
fco
->
mtx
));
fellow_cache_obj_free
(
fc
,
&
fco
);
}
...
...
@@ -4722,8 +4718,6 @@ fellow_cache_obj_deref(struct fellow_cache *fc, struct fellow_cache_obj *fco)
fellow_cache_lru_chgbatch_apply
(
lcb
);
DBG
(
"fco %p refcount %u"
,
fco
,
refcount
);
//lint --e{456} Two execution paths are being combined...
//lint --e{454} A thread mutex has been locked...
if
(
refcount
==
0
)
fellow_cache_obj_free
(
fc
,
&
fco
);
else
...
...
@@ -4991,9 +4985,6 @@ fellow_cache_obj_delete(struct fellow_cache *fc,
logstate
=
fco
->
logstate
;
//lint --e{456} Two execution paths are being combined...
//lint --e{454} A thread mutex has been locked...
// must have been the last reference
AZ
(
fellow_cache_obj_deref_locked
(
lcb
,
fc
,
fco
));
fellow_cache_lru_chgbatch_apply
(
lcb
);
...
...
src/flint.lnt
View file @
2dc06549
...
...
@@ -5,6 +5,7 @@
-function(pthread_create(3), WRK_BgThread(3) )
-sem(Lck_Lock, thread_lock)
-sem(Lck_Unlock, thread_unlock)
-sem(fellow_cache_obj_free, thread_unlock)
-sem(sfemem_objfree, thread)
-sem(sfemem_iterator, thread)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment