john.brawn added a subscriber: john.brawn.
john.brawn added a comment.

> When my Java application calls clang_createIndex() with crash recovery 
> enabled it replaces the JVM's segfault handler with 
> CrashRecoverySignalHandler and now this handler gets all the segfault signals 
> that would have normally been sent to the JVM and when it does and tries to 
> restore the previous segfault hanlder (which is the JVMs) it doesn't install 
> the right one because the JVM ends up crashing and producing a core dump.


Surely the fix then is to make sure CrashRecoveryContext::Disable //does// 
reinstall the right signal handler?

> The only way to correctly solve my problem is to set the environment variable 
> 'LIBCLANG_DISABLE_CRASH_RECOVERY' but I find this to not be a very nice way 
> to control the program behaviour


Why not? Also I notice that using environment variables to control behaviour is 
used in a bunch of places in libclang so you're introducing some inconsistency 
here.


Repository:
  rL LLVM

https://reviews.llvm.org/D23662



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to