summaryrefslogtreecommitdiff
path: root/trigger.c
diff options
context:
space:
mode:
authorJohn Denker <jsd@av8n.com>2012-06-01 18:58:45 -0700
committerJohn Denker <jsd@av8n.com>2012-06-01 18:58:45 -0700
commitb732a73bc773789894466b0e5320b2f1fe42c7e9 (patch)
tree385358983f064a1f10a5080b33a3ba13010886db /trigger.c
parent634d365a03cb0581a062cd3cf4db9ae69f1cde26 (diff)
original, as downloaded from http://www.qmail.org/netqmail-1.06.tar.gz
Diffstat (limited to 'trigger.c')
-rw-r--r--trigger.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/trigger.c b/trigger.c
new file mode 100644
index 0000000..39f81b8
--- /dev/null
+++ b/trigger.c
@@ -0,0 +1,41 @@
+#include "select.h"
+#include "open.h"
+#include "trigger.h"
+#include "hasnpbg1.h"
+
+static int fd = -1;
+#ifdef HASNAMEDPIPEBUG1
+static int fdw = -1;
+#endif
+
+void trigger_set()
+{
+ if (fd != -1)
+ close(fd);
+#ifdef HASNAMEDPIPEBUG1
+ if (fdw != -1)
+ close(fdw);
+#endif
+ fd = open_read("lock/trigger");
+#ifdef HASNAMEDPIPEBUG1
+ fdw = open_write("lock/trigger");
+#endif
+}
+
+void trigger_selprep(nfds,rfds)
+int *nfds;
+fd_set *rfds;
+{
+ if (fd != -1)
+ {
+ FD_SET(fd,rfds);
+ if (*nfds < fd + 1) *nfds = fd + 1;
+ }
+}
+
+int trigger_pulled(rfds)
+fd_set *rfds;
+{
+ if (fd != -1) if (FD_ISSET(fd,rfds)) return 1;
+ return 0;
+}