On Fri, 26 Feb 2010, Yasuhiko Kamata wrote: > 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.
Will do that, thanks. > --- 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: belphe...@belbel.or.jp > _______________________________________________ > xmail mailing list > xmail@xmailserver.org > http://xmailserver.org/mailman/listinfo/xmail > - Davide _______________________________________________ xmail mailing list xmail@xmailserver.org http://xmailserver.org/mailman/listinfo/xmail