chiark / gitweb /
cleanup: build on Ubuntu Lucid
authorRichard Kettlewell <rjk@terraraq.org.uk>
Sat, 10 Dec 2011 16:09:13 +0000 (16:09 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 10 Dec 2011 21:45:35 +0000 (21:45 +0000)
The discard() idiom is chosen because Clang tolerates it.

Signed-off-by: Richard Kettlewell <rjk@terraraq.org.uk>
(cherry picked from commit 5a8a70536e4fa79612405a88c50743976abb2d50)

process.c

index babcaaca74b72cf3369088c1df14e66b14da535f..48a82eb86c1ab88d14677af4c41470df86aec9a8 100644 (file)
--- a/process.c
+++ b/process.c
@@ -189,6 +189,9 @@ static int signal_beforepoll(void *st, struct pollfd *fds, int *nfds_io,
     return 0;
 }
 
+/* Bodge to work around Ubuntu's strict header files */
+static void discard(int anything) {}
+
 static afterpoll_fn signal_afterpoll;
 static void signal_afterpoll(void *st, struct pollfd *fds, int nfds,
                             const struct timeval *tv, uint64_t *now)
@@ -198,7 +201,8 @@ static void signal_afterpoll(void *st, struct pollfd *fds, int nfds,
     sigset_t todo,old;
 
     if (nfds && (fds->revents & POLLIN)) {
-       read(spr,buf,16); /* We don't actually care what we read; as
+       discard(read(spr,buf,16));
+                         /* We don't actually care what we read; as
                             long as there was at least one byte
                             (which there was) we'll pick up the
                             signals in the pending set */
@@ -250,7 +254,8 @@ static void signal_handler(int signum)
        will be atomic, and it seems to be the lesser of the two
        evils. */
     saved_errno=errno;
-    write(spw,&thing,1); /* We don't care if this fails (i.e. the pipe
+    discard(write(spw,&thing,1));
+                         /* We don't care if this fails (i.e. the pipe
                            is full) because the service routine will
                            spot the pending signal anyway */
     errno=saved_errno;