Actually, there are some significant problems with the rtsig implementation. For example, it doesn't handle pipes or tty's and can miss several events.
Attached is a version of rtsig.c that is mostly a rewrite. The code isn't that
clean, but it has been working flawlessly for me in many high-volume
applications for over a year now.
This code is slower than the poll-based version until you hit around 40
connections ( on my hardware ). More connections than that, that the
performance of the poll-based code decay's rapidly and rtsig remains constant.
On Saturday, February 25, 2006, at 03:02PM, Taral <[EMAIL PROTECTED]> wrote:
>It seems nobody uses rtsig... maybe if it were enabled by default
>people would test it?
>
>Anyway, here is a patch that makes rtsig compile again after the
>thread-safety changes.
>
>Please make rtsig on by default. It works! :)
>
>--
>Taral <[EMAIL PROTECTED]>
>"Computer science is no more about computers than astronomy is about
>telescopes."
> -- Edsger Dijkstra
>
>diff -ruN libevent-1.1a/event-internal.h libevent-1.1a.new/event-internal.h
>--- libevent-1.1a/event-internal.h Thu Jan 13 22:24:41 2005
>+++ libevent-1.1a.new/event-internal.h Wed Dec 28 15:06:51 2005
>@@ -31,6 +31,8 @@
> extern "C" {
> #endif
>
>+#include <sys/tree.h>
>+
> struct event_base {
> const struct eventop *evsel;
> void *evbase;
>diff -ruN libevent-1.1a/rtsig.c libevent-1.1a.new/rtsig.c
>--- libevent-1.1a/rtsig.c Tue Mar 29 00:55:42 2005
>+++ libevent-1.1a.new/rtsig.c Wed Dec 28 15:04:50 2005
>@@ -28,6 +28,7 @@
> #define EVLIST_X_NORT 0x1000 /* Skip RT signals (internal) */
>
> #include "event.h"
>+#include "event-internal.h"
> #include "log.h"
> extern struct event_list signalqueue;
>
>
>_______________________________________________
>Libevent-users mailing list
>[email protected]
>http://monkey.org/mailman/listinfo/libevent-users
>
>
rtsig.c
Description: Binary data
_______________________________________________ Libevent-users mailing list [email protected] http://monkey.org/mailman/listinfo/libevent-users
