Hacker News new | past | comments | ask | show | jobs | submit login

It's probably better to use SIGABRT (-6) for that, as it also dumps core and is less likely to be handled by the process (there are valid reasons to handle SIGSEGV and continue in execution)



I never thought of handling SIGSEGV. What would you use it for?


It's mostly about removing checks for rare occurrences:

* catching of NULL pointer references (ie. transforming SEGV into catchable userspace exception) * testing whether some in memory data have been changed/accessed (ie. mprotect(), wait for SEGV, set flag, un-mprotect(), return) * paging in userspace (eg. across network)

All that seems obscure (and is mainly useful for virtual machines and such), but it is not so rare to find process that actually does this (usually because of some library, or because it is some kind of virtual machine)


Many applications will try to print their own stack before exiting on SIGSEGV.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: