diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/libbb.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/include/libbb.h b/include/libbb.h index fc0a0ae6c..d60b410ae 100644 --- a/include/libbb.h +++ b/include/libbb.h | |||
@@ -622,12 +622,14 @@ llist_t *llist_rev(llist_t *list); | |||
622 | /* start_stop_daemon and udhcpc are special - they want | 622 | /* start_stop_daemon and udhcpc are special - they want |
623 | * to create pidfiles regardless of FEATURE_PIDFILE */ | 623 | * to create pidfiles regardless of FEATURE_PIDFILE */ |
624 | #if ENABLE_FEATURE_PIDFILE || defined(WANT_PIDFILE) | 624 | #if ENABLE_FEATURE_PIDFILE || defined(WANT_PIDFILE) |
625 | int write_pidfile(const char *path); | 625 | /* True only if we created pidfile which is *file*, not /dev/null etc */ |
626 | #define remove_pidfile(f) ((void)unlink(f)) | 626 | extern smallint wrote_pidfile; |
627 | void write_pidfile(const char *path); | ||
628 | #define remove_pidfile(path) do { if (wrote_pidfile) unlink(path); } while (0) | ||
627 | #else | 629 | #else |
628 | /* Why? #defining it to 1 gives "warning: statement with no effect"... */ | 630 | enum { wrote_pidfile = 0 }; |
629 | static ALWAYS_INLINE int write_pidfile(const char *path) { return 1; } | 631 | #define write_pidfile(path) ((void)0) |
630 | #define remove_pidfile(f) ((void)0) | 632 | #define remove_pidfile(path) ((void)0) |
631 | #endif | 633 | #endif |
632 | 634 | ||
633 | enum { | 635 | enum { |