debug.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /****************************************************************************
  2. **
  3. ** NAME:
  4. ** debug.h
  5. **
  6. ** DESCRIPTION:
  7. ** This header file defines the debug macros used in pthreads. To turn
  8. ** debugging on, add -DDEBUG_PT to CFLAGS. It was added to the original
  9. ** distribution of linuxthreads.
  10. **
  11. ** This program is free software; you can redistribute it and/or
  12. ** modify it under the terms of the GNU Library General Public License
  13. ** as published by the Free Software Foundation; either version 2
  14. ** of the License, or (at your option) any later version.
  15. **
  16. ** This program is distributed in the hope that it will be useful,
  17. ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  18. ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  19. ** GNU Library General Public License for more details.
  20. **
  21. ****************************************************************************/
  22. #ifndef _PT_DEBUG_H
  23. #define _PT_DEBUG_H
  24. /* include asserts for now */
  25. #define DO_ASSERT
  26. /* define the PDEBUG macro here */
  27. #undef PDEBUG
  28. #ifdef DEBUG_PT
  29. # define PDEBUG(fmt, args...) __pthread_message(__FUNCTION__": " fmt, ## args)
  30. #else
  31. # define PDEBUG(fmt, args...) /* debug switched off */
  32. #endif
  33. /* nothing; placeholder to disable a PDEBUG message but don't delete it */
  34. #undef PDEBUGG
  35. #define PDEBUGG(fmt, args...)
  36. /* Define ASSERT to stop/warn. Should be void in production code */
  37. #undef ASSERT
  38. #ifdef DO_ASSERT
  39. # define ASSERT(x) if (!(x)) fprintf(stderr, "pt: assertion failed in %s:%i.\n",\
  40. __FILE__, __LINE__)
  41. #else
  42. # define ASSERT(x)
  43. #endif
  44. #endif /* _PT_DEBUG_H */