sys: FSP_ENTER/FSP_LEAVE

This commit is contained in:
Bill Zissimopoulos 2015-11-17 13:59:41 -08:00
parent ef2d278311
commit a6bc8de0fd

View File

@ -21,6 +21,15 @@
/* enter/leave*/ /* enter/leave*/
#if DBG #if DBG
#define FSP_DEBUGLOG(rfmt, r, fmt, ...) \
DbgPrint(AbnormalTermination() ? \
DRIVER_NAME "!" __FUNCTION__ "(" fmt ") = !AbnormalTermination\n" :\
DRIVER_NAME "!" __FUNCTION__ "(" fmt ")" rfmt "\n",\
__VA_ARGS__, r)
#else
#define FSP_DEBUGLOG(rfmt, r, fmt, ...) ((void)0)
#endif
#if DBG
#define FSP_ENTER_(...) \ #define FSP_ENTER_(...) \
__VA_ARGS__; \ __VA_ARGS__; \
try \ try \
@ -31,10 +40,7 @@
} \ } \
finally \ finally \
{ \ { \
const char *fsp_leave_format = AbnormalTermination() ? \ FSP_DEBUGLOG(rfmt, r, fmt, __VA_ARGS__);\
DRIVER_NAME "!" __FUNCTION__ "(" fmt ") = !AbnormalTermination\n" : \
DRIVER_NAME "!" __FUNCTION__ "(" fmt ")" rfmt "\n"; \
DbgPrint(fsp_leave_format, __VA_ARGS__, r); \
} }
#else #else
#define FSP_ENTER_(...) \ #define FSP_ENTER_(...) \
@ -52,7 +58,7 @@
#define FSP_ENTER_BOOL(...) \ #define FSP_ENTER_BOOL(...) \
BOOLEAN Result = TRUE; FSP_ENTER_(__VA_ARGS__) BOOLEAN Result = TRUE; FSP_ENTER_(__VA_ARGS__)
#define FSP_LEAVE_BOOL(fmt, ...) \ #define FSP_LEAVE_BOOL(fmt, ...) \
FSP_LEAVE_(" = %d", (int)Result, fmt, __VA_ARGS__); return Result FSP_LEAVE_(" = %s", Result ? "TRUE" : "FALSE", fmt, __VA_ARGS__); return Result
#define FSP_ENTER_VOID(...) \ #define FSP_ENTER_VOID(...) \
FSP_ENTER_(__VA_ARGS__) FSP_ENTER_(__VA_ARGS__)
#define FSP_LEAVE_VOID(fmt, ...) \ #define FSP_LEAVE_VOID(fmt, ...) \