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>
Tue, 4 Oct 2016 12:51:54 +0000 (14:51 +0200)
lib/tevent/tevent_internal.h
lib/tevent/wscript

index 6f0ecfdbe3f22a15bd9b33de6a825fdaba880fb9..4074c9f0f9be0df9af9999203bb1fc81588f9bf2 100644 (file)
@@ -389,6 +389,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 ae8fa28a0b1d70cb16d4fd71da18b7d861dceaa5..883b61484159154816a2803500eabb4414fadf0e 100755 (executable)
@@ -46,6 +46,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')