[Libevent-users] [PATCH] TAILQ_ENTRY missing in evhttp.h on linux

Paul Fisher pfisher at alertlogic.net
Tue Oct 30 11:30:26 EDT 2007


In using the latest 1.3e on linux, evhttp.h fails to compile because of a missing definition of TAILQ_ENTRY in evhttp.h.  This is due to the fact that the workaround in event.h is #define'd and #undef'd within event.h and not available to evhttp.h when defining "struct evhttp_request".  This patch obviously fixes it:

--- libevent-1.3e/evhttp.h	2007-08-25 13:49:22.000000000 -0500
+++ libevent-1.3e.002/evhttp.h	2007-10-29 22:32:07.000000000 -0500
@@ -108,7 +108,14 @@
  * reasonable accessors.
  */
 struct evhttp_request {
+#if defined(TAILQ_ENTRY)
 	TAILQ_ENTRY(evhttp_request) next;
+#else
+struct {								\
+	struct type *tqe_next;	/* next element */			\
+	struct type **tqe_prev;	/* address of previous next element */	\
+}       next;
+#endif
 
 	/* the connection object that this request belongs to */
 	struct evhttp_connection *evcon;

... but it would be nice if this was coordinated with the definition in event.h, possibly by simply not #undef'ing it from event.h.  Anyway, if there is a preference on how to fix this, I'd be glad to regenerate the patch.


--

paul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://monkeymail.org/archives/libevent-users/attachments/20071030/eb23f953/attachment.htm


More information about the Libevent-users mailing list