Re: XMail 1.27 released

Yasuhiko Kamata <[email protected]>
Newsgroups gmane.mail.xmail.general
Organization Bel Bel Network, Japan.
Message-ID <[email protected]>
Hello, Davide,

Thanks for good news!

But I've just found a problem on a bit older Linux system.

On 1.27, XMail seems to use a eventfd-based event system for faster
shutdown. But two flags (EFD_NONBLOCK, EFD_CLOEXEC) cannot be used
(not defined) on Linux kernel earlier than 2.6.27 as described in man
page (eventfd(3)).

Since "Makefile.lnx" only checks the existence of "sys/eventfd.h",
a compilation of XMail-1.27 fails on "Linux < 2.6.27" distributions
(this failure is caused by glibc header actually).

I think "Makefile.lnx" should test not only the presence of it,
but also whether two flags is defined or not.

So I've just created a very simple patch (just grepping instead of
checking file) as follows.

--- xmail-1.27_orig/Makefile.lnx	2010-02-26 12:33:44.000000000 +0900
+++ xmail-1.27/Makefile.lnx	2010-02-26 21:42:01.000000000 +0900
@@ -44,7 +44,9 @@
 MAINSRC = MainLinux.cpp
 SYSSRCS = SysDepLinux.cpp SysDepUnix.cpp
 
-ifeq ($(wildcard /usr/include/sys/eventfd.h), )
+EVENTFD_DEFINE = $(shell grep -ri EFD_NONBLOCK /usr/include/sys/eventfd.h > /dev/null 2>&1 && echo 1)
+ifeq ($(EVENTFD_DEFINE), )
+# ifeq ($(wildcard /usr/include/sys/eventfd.h), )
     SYSSRCS := $(SYSSRCS) SysOsEventfd_pipe.cpp
 else
     SYSSRCS := $(SYSSRCS) SysOsEventfd_eventfd.cpp

It works fine on openSUSE-11.0 (kernel = 2.6.25.20).

Best regards,

-- 
Yasuhiko Kamata
E-mail: [email protected]
_______________________________________________
xmail mailing list
[email protected]
http://xmailserver.org/mailman/listinfo/xmail
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.