[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnuastro-devel] [bug #49049] pthread_barrier_t not immediately reusable
From: |
Mohammad Akhlaghi |
Subject: |
[gnuastro-devel] [bug #49049] pthread_barrier_t not immediately reusable after destroy |
Date: |
Sat, 10 Sep 2016 10:07:51 +0000 (UTC) |
User-agent: |
Mozilla/5.0 (Linux; Android 4.3; SC-03E Build/JSS15J) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.36 |
URL:
<http://savannah.gnu.org/bugs/?49049>
Summary: pthread_barrier_t not immediately reusable after
destroy
Project: GNU Astronomy Utilities
Submitted by: makhlaghi
Submitted on: Sat 10 Sep 2016 07:07:48 PM JST
Category: All Gnuastro
Severity: 4 - Important
Item Group: Crash
Status: In Progress
Privacy: Public
Assigned to: makhlaghi
Open/Closed: Open
Discussion Lock: Any
_______________________________________________________
Details:
Most OSs have the `pthread_barrier' class of functions. But on those that
don't have this optional Pthreads class, we have included our own
implementation in `libs/threads.c'.
Our implementation can still need the `pthread_barrier' structure after
`pthread_barrier_destroy' is called: the `pthread_cond_wait' loop in the
`pthread_barrier_wait' can finish after `pthread_barrier_destroy'.
So when the next function needs to run on threads and re-initializes the
structure, there will be conflicts whuch will cause hangs and crashes.
I am most greatful to Alan Lefor who patiently tested Gnuastro on his system
many times until we were able to find the cause of the crash.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?49049>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [gnuastro-devel] [bug #49049] pthread_barrier_t not immediately reusable after destroy,
Mohammad Akhlaghi <=