HN2new | past | comments | ask | show | jobs | submitlogin

I see. The strategy should depend on the goal, of course.

memcached is a good example of a daemon that shouldn't abort imho, many other daemons could happily abort. https://github.com/memcached/memcached/blob/master/memcached... . In other parts of the code, aborting was a better decision. https://github.com/memcached/memcached/blob/master/memcached... . If you cannot preallocate conn structures why bother running?

It depends on the goal in the end. As long as it's an explicit decision and not relying on environment the behavior is expected to be defined.

For instance, I worked on an enterprise proxy where aborting on asserts wasn't acceptable. Why? Because the customer didn't want to interrupt his users even though in our opinion the proxy state was out of whack. This created a nightmare for us because it was hard to debug. We ended up fork()-ing and aborting on the side to debug the cores.



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

Search: