[prev in list] [next in list] [prev in thread] [next in thread]
List: perl5-changes
Subject: [perl.git] branch smoke-me/jhi/tsa, created. v5.23.5-28-g3a52299
From: Jarkko Hietaniemi <jhi () iki ! fi>
Date: 2015-11-21 3:09:17
Message-ID: E1ZzyY9-00033j-UH () camel-001 ! ams6 ! corp ! booking ! com
[Download RAW message or body]
In perl.git, the branch smoke-me/jhi/tsa has been created
<http://perl5.git.perl.org/perl.git/commitdiff/3a52299163f04b3ba5629041cb5983a11ecc9ba9?hp=0000000000000000000000000000000000000000>
at 3a52299163f04b3ba5629041cb5983a11ecc9ba9 (commit)
- Log -----------------------------------------------------------------
commit 3a52299163f04b3ba5629041cb5983a11ecc9ba9
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Fri Nov 20 12:27:32 2015 -0500
bump threads version
M dist/threads/lib/threads.pm
commit 995ad104682182f7f1dfe4b86772434fd17c0b2f
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Wed Nov 18 21:25:04 2015 -0500
analysis cannot tell that the mutex was locked
It was locked in S_ithread_create() - in case it returned a non-NULL thread.
Because of this conditionality the S_ithread_create() cannot be annotated.
threads.xs:1161:9: warning: releasing mutex 'thread->mutex' that was not held \
[-Wthread-safety-analysis] MUTEX_UNLOCK(&thread->mutex);
M dist/threads/threads.xs
commit 14c8e225b97f20cee9f65e444faf7d7d8b0a8885
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Wed Nov 18 21:18:37 2015 -0500
analysis does not like mutex being either held or released
threads.xs:1020:1: warning: mutex 'thread->mutex' is not held on every path \
through here [-Wthread-safety-analysis] }
^
M dist/threads/threads.xs
commit 4d073c8a1efb628076b3bd960710fd5a2b8ac031
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Fri Nov 20 21:40:00 2015 -0500
clang specific diagnostics ignore/restore
M perl.h
commit 78666dd37301145527b87ac06be7f80176cadb5e
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Tue Nov 17 22:15:09 2015 -0500
annotate S_ithread_create create_destruct_mutex use
If the pool is passed in, and the create_destruct_mutex unlocked also
on success (so that all the unlocks happen in S_ithread_create()),
the create_destruct_mutex use can be annotated.
threads.xs:757:9: warning: releasing mutex 'my_poolp->create_destruct_mutex' th
at was not held [-Wthread-safety-analysis]
MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
threads.xs:1000:9: warning: releasing mutex 'my_poolp->create_destruct_mutex' t
hat was not held [-Wthread-safety-analysis]
MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
threads.c:1319:1: warning: mutex 'my_poolp->create_destruct_mutex' is not held on \
every path through here [-Wthread-safety-analysis] }
^
M dist/threads/threads.xs
commit 1ae3a5ed320d4ed8daf7880659eb0814172ba58c
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Sat Nov 14 09:09:38 2015 -0500
annotate S_ithread_count_inc mutex use
No warnings issued, but a clear case for annotations.
M dist/threads/threads.xs
commit 43800a8f8fe451330f58de8e56b31507faf1ed29
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Thu Nov 5 19:13:22 2015 -0500
annotate S_ithread_free mutex use
threads.xs:276:13: warning: releasing mutex 'thread->mutex' that was not held \
[-Wthread-safety-analysis] MUTEX_UNLOCK(&thread->mutex);
threads.xs:282:5: warning: releasing mutex 'thread->mutex' that was not held \
[-Wthread-safety-analysis] MUTEX_UNLOCK(&thread->mutex);
threads.xs:394:1: warning: mutex 'thread->mutex' is still held at the end of
function [-Wthread-safety-analysis]
}
threads.xs:677:1: warning: mutex 'thread->mutex' is still held at the end of
function [-Wthread-safety-analysis]
}
M dist/threads/threads.xs
commit c7c700fc4d66287f82015cfa9533deea7528916e
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Thu Nov 5 18:15:35 2015 -0500
split off the $0 setting so mutex use can be annotated
No warnings were emitted since the use of the PL_dollarzero_mutex
was correctly bracketed by mutex lock and unlock, but by splitting
off the code and annotating it is more likely to stay correct.
M mg.c
commit b1b54e8e898abc63998f0d9876cb15ec2f524235
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Thu Nov 5 19:00:01 2015 -0500
cleanup the mutex use of PerlIOStdio_close
Before: clang -Wthread-safety found the flow quite suspect:
one conditional mutex lock, with two conditional unlocks.
The code *looked* like the being okay logic-wise now, but
rather fragile, so let's make it clearer and more solid
by hoisting the locking earlier.
This is a fd close, this should not be a performance sensitive spot.
And it's in PerlIOStdio, so it should be pretty dead anyway.
perlio.c:3283:18: warning: mutex 'PL_perlio_mutex' is not held on every path \
through here [-Wthread-safety-analysis] result = PerlSIO_fclose(stdio);
perlio.c:3299:6: warning: releasing mutex 'PL_perlio_mutex' that was not held \
[-Wthread-safety-analysis] MUTEX_UNLOCK(&PL_perlio_mutex);
M perlio.c
commit b6929a95b99c28da30eb2ac236dd667e622825b0
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Thu Nov 5 18:58:56 2015 -0500
annotate the mutex use of S_more_refcounted_fds
perlio.c:2232:2: warning: releasing mutex 'PL_perlio_mutex' that was not held \
[-Wthread-safety-analysis] MUTEX_UNLOCK(&PL_perlio_mutex);
M perlio.c
commit fc9e78546689755bfa8986c13b6c7aa2de91a378
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Thu Nov 5 18:57:58 2015 -0500
annotate the mutex use of atfork_lock and atfork_unlock
util.c:2729:1: warning: mutex 'PL_perlio_mutex' is still held at the end of \
function [-Wthread-safety-analysis] }
util.c:2729:1: warning: mutex 'PL_op_mutex' is still held at the end of function \
[-Wthread-safety-analysis] }
util.c:2739:5: warning: releasing mutex 'PL_perlio_mutex' that was not held \
[-Wthread-safety-analysis] MUTEX_UNLOCK(&PL_perlio_mutex);
util.c:2744:5: warning: releasing mutex 'PL_op_mutex' that was not held \
[-Wthread-safety-analysis] OP_REFCNT_UNLOCK;
M util.c
commit 6d91abf244c639878fc4882542dffa857d4fea6f
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Thu Nov 5 18:57:17 2015 -0500
annotate the acquire/release of PL_op_mutex
op.c:1190:1: warning: mutex 'PL_op_mutex' is still held at the end of function
}
op.c:1199:5: warning: releasing mutex 'PL_op_mutex' that was not held
OP_REFCNT_UNLOCK;
M op.c
commit 6ab15c5d466c5a5a36ce608a08e7e941c4aa1dd9
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Thu Nov 5 18:52:20 2015 -0500
clang thread safety annotations
http://clang.llvm.org/docs/ThreadSafetyAnalysis.html
Static (compile-time) annotations for declaring the multithreaded
behavior of functions, variables, and capabilities (like mutexes).
Available since about clang 3.4.
./Configure -des -Dusedevel -Dusethreads -Dcc=clang -Accflags='-Wthread-safety'
clang -Wthread-safety then checks the validity of the annotations.
M perl.h
M thread.h
M util.c
-----------------------------------------------------------------------
--
Perl5 Master Repository
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic