diff options
author | ridiculousfish <corydoras@ridiculousfish.com> | 2012-02-29 17:55:50 -0800 |
---|---|---|
committer | ridiculousfish <corydoras@ridiculousfish.com> | 2012-02-29 17:55:50 -0800 |
commit | e4d98597c7fd25daed4530aa0c484c38b66f0215 (patch) | |
tree | 6d65f5a9636980ea3d1d5f21df9851d49ff02776 /common.h | |
parent | 72da14e414061f8884f3a94ebdf54d52739fba0a (diff) |
Added some fork tests, fixed some bugs it found
Diffstat (limited to 'common.h')
-rw-r--r-- | common.h | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -557,6 +557,12 @@ int read_blocked(int fd, void *buf, size_t count); */ ssize_t write_loop(int fd, const char *buff, size_t count); +/** + Loop a read request while failiure is non-critical. Return -1 and set errno + in case of critical error. + */ +ssize_t read_loop(int fd, void *buff, size_t count); + /** Issue a debug message with printf-style string formating and @@ -707,4 +713,9 @@ void assert_is_not_forked_child(const char *who); #define ASSERT_IS_NOT_FORKED_CHILD_TRAMPOLINE(x) assert_is_not_forked_child(x) #define ASSERT_IS_NOT_FORKED_CHILD() ASSERT_IS_NOT_FORKED_CHILD_TRAMPOLINE(__FUNCTION__) +extern "C" { +__attribute__((noinline)) void debug_thread_error(void); +} + + #endif |