HACK compile kqueue backend
authorStefan Metzmacher <metze@samba.org>
Sun, 17 Feb 2013 14:35:34 +0000 (15:35 +0100)
committerStefan Metzmacher <metze@samba.org>
Thu, 17 May 2018 07:52:30 +0000 (09:52 +0200)
lib/tevent/tevent_internal.h
lib/tevent/wscript

index 8495c8966a375461412d8083667ec51a1c350c90..f153dd2fa526e2086ecf7f05006652f3bcc06123 100644 (file)
@@ -447,6 +447,48 @@ bool tevent_kqueue_init(void);
 bool tevent_kqueue_set_panic_fallback(struct tevent_context *ev,
                        bool (*panic_fallback)(struct tevent_context *ev,
                                               bool replay));
+#ifndef HAVE_SYS_EVENT_H
+struct kevent {
+       uintptr_t ident;             /* identifier for this event */
+       short     filter;            /* filter for event */
+#define EVFILT_WRITE 1
+#define EVFILT_READ 2
+       u_short   flags;             /* action flags for kqueue */
+#define EV_ADD         0x0001
+#define EV_ENABLE      0x0002
+#define EV_DISABLE     0x0004
+#define EV_DELETE      0x0008
+#define EV_EOF         0x0010
+       u_int     fflags;            /* filter flag value */
+       intptr_t  data;      /* filter data value */
+       void      *udata;            /* opaque user data identifier */
+};
+
+#define EV_SET(_kev, _ident, _filter, _flags, _fflags, _data, _udata) do { \
+       struct kevent *__kev = _kev; \
+       __kev->ident = _ident; \
+       __kev->filter = _filter; \
+       __kev->flags = _flags; \
+       __kev->fflags = _fflags; \
+       __kev->data = (intptr_t)_data; \
+       __kev->udata = _udata; \
+} while(0)
+
+static inline int kqueue(void)
+{
+       errno = ENOSYS;
+       return -1;
+}
+
+struct timespec;
+static inline int kevent(int kq, const struct kevent *changelist, int nchanges,
+                        struct kevent *eventlist, int nevents,
+                        const struct timespec *timeout)
+{
+       errno = ENOSYS;
+       return -1;
+}
+#endif /* not HAVE_SYS_EVENT_H */
 #endif
 
 
index 4132dec72484801c157cd395640639b9d26fc109..5018905a8d89e028b32869edb44b77a878613f75 100644 (file)
@@ -43,6 +43,7 @@ def configure(conf):
 
     if conf.CHECK_FUNCS('kqueue', headers='sys/types.h sys/event.h sys/time.h'):
         conf.DEFINE('HAVE_KQUEUE', 1)
+    conf.DEFINE('HAVE_KQUEUE', 1) # HACK
 
     tevent_num_signals = 64
     v = conf.CHECK_VALUEOF('NSIG', headers='signal.h')