[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#16986: Crash when idle
From: |
Paul Eggert |
Subject: |
bug#16986: Crash when idle |
Date: |
Sat, 02 Aug 2014 16:11:08 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 |
Thanks, Mitsuharu, for the diagnosis; I think you nailed it.
Dmitry, I spotted a couple of problems with that patch. First, any
compiler could do that optimization and I wouldn't be surprised if some
version of GCC does it either now or in the future, so the fix shouldn't
be conditionalized on __clang__. Second, making 'directory' itself
volatile would break the (uncommon) case where GC_MARK_STACK !=
GC_MAKE_GCPROS_NOOPS, because one can't portably assign the address of a
volatile to a pointer that isn't volatile-qualified. Plus, there's no
need to have every access to that local be volatile; we need only ensure
that the value is stored somewhere.
I installed the attached patch as emacs-24 bzr 117421, as a change that
should not break anything and most likely fixes the bug. Please let me
know how it works in the Clang environment.
dired.patch
Description: Text document
- bug#16986: Crash when idle,
Paul Eggert <=