hnes / libaco

A blazing fast and lightweight C asymmetric coroutine library 💎 ⛅🚀⛅🌞
https://libaco.org
Apache License 2.0
3.49k stars 392 forks source link

Provide way to return error to caller instead of calling `abort()` on failed assertions #41

Open adsr opened 4 years ago

adsr commented 4 years ago

Aborting is fine for debug but in production it is usually undesirable to crash. For example, on failed malloc, an error code or NULL can be returned to the caller.

hnes commented 4 years ago

Aborting is fine for debug but in production it is usually undesirable to crash.

On some occasions "let it crash" idea is very convenient and powerful. For example, in the case of libaco, the memory for creating coroutine is usually not the bottleneck of resource usage. But I do admit that there still exist some occasion that needs to handle such resource-draining.

Thanks a lot for this proposal, @adsr 👍