Example:
int main() {
std::mutex mutex;
std::condition_variable cond;
std::unique_lock<std::mutex> lock(mutex);
cond.wait_for(lock, std::chrono::milliseconds(1000)); // <<<<<<<<<<<<<<
SIGSEGV
}
Backtrace:
Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
(gdb) backtrace
#0 0x00000000 in ?? ()
#1 0x00401688 in __gthread_cond_timedwait (__cond=0x22fec4,
__mutex=0x22fed4, __abs_timeout=0x22fe10)
at
c:/mingw/bin/../lib/gcc/i686-pc-mingw32/4.6.2/../../../../include/c++/4.6
.2/i686-pc-mingw32/bits/gthr-default.h:853
#2 0x004053b6 in
std::condition_variable::__wait_until_impl<std::chrono::system
_clock, std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> > > (
this=0x22fec4, __lock=..., __atime=...)
at
c:/mingw/bin/../lib/gcc/i686-pc-mingw32/4.6.2/../../../../include/c++/4.6
.2/condition_variable:158
#3 0x0040531b in
std::condition_variable::wait_until<std::chrono::duration<long
long, std::ratio<1ll, 1000000000ll> > > (this=0x22fec4, __lock=...,
__atime=...)
at
c:/mingw/bin/../lib/gcc/i686-pc-mingw32/4.6.2/../../../../include/c++/4.6
.2/condition_variable:95
#4 0x0040542a in std::condition_variable::wait_for<long long,
std::ratio<1ll, 1
000ll> > (this=0x22fec4, __lock=..., __rtime=...)
at
c:/mingw/bin/../lib/gcc/i686-pc-mingw32/4.6.2/../../../../include/c++/4.6
.2/condition_variable:127
#5 0x004019ae in _fu3___ZSt4cout () at thtest.cpp:12
(gdb)
If I compile this code with "-static" - it works.
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public