diff --git a/Makefile b/Makefile
index 2341cf9..ac68064 100644
--- a/Makefile
+++ b/Makefile
@@ -40,6 +40,8 @@ mandir = $(prefix)/man
all: $(ALL)
+lib: $(LIB)
+
pigpio.o: pigpio.c pigpio.h command.h custom.cext
$(CC) $(CFLAGS) -fpic -c -o pigpio.o pigpio.c
diff --git a/pigpio.c b/pigpio.c
index 8328d3a..854586b 100644
--- a/pigpio.c
+++ b/pigpio.c
@@ -195,17 +195,11 @@ bit 0 READ_LAST_NOT_SET_ERROR
#define BIT (1<<(gpio&0x1F))
-#ifndef EMBEDDED_IN_VM
-#define DBG(level, format, arg...) DO_DBG(level, format, ## arg)
-#else
-#define DBG(level, format, arg...)
-#endif
-
-#define DO_DBG(level, format, arg...) \
- { \
- if (gpioCfg.dbgLevel >= level) \
- fprintf(stderr, "%s %s: " format "\n" , \
- myTimeStamp(), __FUNCTION__ , ## arg); \
+#define DBG(level, format, arg...) \
+ { \
+ if (gpioCfg.dbgLevel >= level && (gpioCfg.internals & PI_CFG_SIGHANDLER)) \
+ fprintf(stderr, "%s %s: " format "\n" , \
+ myTimeStamp(), __FUNCTION__ , ## arg); \
}
#ifndef DISABLE_SER_CHECK_INITED
@@ -1344,7 +1338,7 @@ static volatile gpioCfg_t gpioCfg =
PI_DEFAULT_MEM_ALLOC_MODE,
0, /* dbgLevel */
0, /* alertFreq */
- 0, /* internals */
+ PI_CFG_SIGHANDLER, /* internals */
};
/* no initialisation required */
@@ -8112,9 +8106,8 @@ int initInitialise(void)
gpioMaskSet = 1;
}
-#ifndef EMBEDDED_IN_VM
- sigSetHandler();
-#endif
+ if(gpioCfg.internals & PI_CFG_SIGHANDLER)
+ sigSetHandler();
if (initPeripherals() < 0) return PI_INIT_FAILED;
@@ -8509,8 +8502,7 @@ void gpioTerminate(void)
if (dmaReg != MAP_FAILED) dmaIn[DMA_CS] = DMA_CHANNEL_RESET;
if (dmaReg != MAP_FAILED) dmaOut[DMA_CS] = DMA_CHANNEL_RESET;
-#ifndef EMBEDDED_IN_VM
- if (gpioCfg.internals & PI_CFG_STATS)
+ if ((gpioCfg.internals & PI_CFG_STATS) && (gpioCfg.internals & PI_CFG_SIGHANDLER))
{
fprintf(stderr,
"\n#####################################################\n");
@@ -8543,7 +8535,6 @@ void gpioTerminate(void)
fprintf(stderr,
"\n#####################################################\n\n\n");
}
-#endif
initReleaseResources();
diff --git a/pigpio.h b/pigpio.h
index 7fc7952..77f4d43 100644
--- a/pigpio.h
+++ b/pigpio.h
@@ -31,7 +31,7 @@ For more information, please refer to
#include
#include
-#define PIGPIO_VERSION 64
+#define PIGPIO_VERSION 65
/*TEXT
@@ -865,8 +865,10 @@ typedef void *(gpioThreadFunc_t) (void *);
#define PI_CFG_ALERT_FREQ 4 /* bits 4-7 */
#define PI_CFG_RT_PRIORITY (1<<8)
#define PI_CFG_STATS (1<<9)
+#define PI_CFG_SIGHANDLER (1<<10)
+
+#define PI_CFG_ILLEGAL_VAL (1<<11)
-#define PI_CFG_ILLEGAL_VAL (1<<10)
/* gpioISR */