diff options
| author | Garrett D'Amore <garrett@damore.org> | 2016-12-12 03:42:26 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2016-12-12 03:42:26 -0800 |
| commit | 1adefe3879b211a47a784f477d56a9416ae72254 (patch) | |
| tree | cf017599969fb109d62981cbef56eeeef4d2b108 /src/core/panic.h | |
| parent | 091043a0df9568b18e9bb49b07762b95e3508108 (diff) | |
| download | nng-1adefe3879b211a47a784f477d56a9416ae72254.tar.gz nng-1adefe3879b211a47a784f477d56a9416ae72254.tar.bz2 nng-1adefe3879b211a47a784f477d56a9416ae72254.zip | |
New inproc transport.
Lots of supporting changes.
Diffstat (limited to 'src/core/panic.h')
| -rw-r--r-- | src/core/panic.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/core/panic.h b/src/core/panic.h new file mode 100644 index 00000000..6deef964 --- /dev/null +++ b/src/core/panic.h @@ -0,0 +1,37 @@ +/* + * Copyright 2016 Garrett D'Amore <garrett@damore.org> + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom + * the Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#ifndef CORE_PANIC_H +#define CORE_PANIC_H + +/* + * nni_panic is used to terminate the process with prejudice, and + * should only be called in the face of a critical programming error, + * or other situation where it would be unsafe to attempt to continue. + * As this crashes the program, it should never be used when factors outside + * the program can cause it, such as receiving protocol errors, or running + * out of memory. Its better in those cases to return an error to the + * program and let the caller handle the error situation. + */ +extern void nni_panic(const char *, ...); + +#endif /* CORE_PANIC_H */ |
