Portability fixes: - Do not use isfdtype()... rather use fstat(2). - Define TEMP_FAILURE_RETRY if needed. --- acpid.h 2014-02-26 01:36:58.788146100 +0100 +++ acpid.h 2014-12-28 06:58:18.252702509 +0100 @@ -39,6 +39,15 @@ #define PACKAGE "acpid" +#ifndef TEMP_FAILURE_RETRY +# define TEMP_FAILURE_RETRY(expression) \ + (__extension__ \ + ({ long int __result; \ + do __result = (long int) (expression); \ + while (__result == -1L && errno == EINTR); \ + __result; })) +#endif + /* * acpid.c */ --- kacpimon/libnetlink.c 2013-02-24 14:20:06.624844873 +0100 +++ kacpimon/libnetlink.c 2014-12-28 06:59:50.283706615 +0100 @@ -24,6 +24,7 @@ #include #include +#include "acpid.h" #include "libnetlink.h" void rtnl_close(struct rtnl_handle *rth) --- libnetlink.c 2012-07-15 00:29:38.168312376 +0200 +++ libnetlink.c 2014-12-28 06:59:17.379705147 +0100 @@ -24,6 +24,7 @@ #include #include +#include "acpid.h" #include "libnetlink.h" void rtnl_close(struct rtnl_handle *rth) --- sock.c 2013-08-15 01:30:44.655673004 +0200 +++ sock.c 2014-12-28 07:11:31.198737890 +0100 @@ -53,7 +54,12 @@ int non_root_clients; int is_socket(int fd) { - return (isfdtype(fd, S_IFSOCK) == 1); + struct stat st; + + if (fstat(fd, &st) == 0) + return S_ISSOCK(st.st_mode); + + return -1; } /* accept a new client connection */