[project @ 1999-08-04 17:03:20 by panne]
authorpanne <unknown>
Wed, 4 Aug 1999 17:03:41 +0000 (17:03 +0000)
committerpanne <unknown>
Wed, 4 Aug 1999 17:03:41 +0000 (17:03 +0000)
Some small pedantic changes to get function prototypes right.

ghc/lib/posix/Posix.lhs
ghc/lib/posix/cbits/libposix.h
ghc/lib/posix/cbits/signal.c
ghc/rts/Proftimer.c
ghc/rts/Proftimer.h

index b758e07..f3b3924 100644 (file)
@@ -4,6 +4,7 @@
 \section[Posix]{Haskell 1.3 POSIX bindings}
 
 \begin{code}
+{-# OPTIONS -#include "../std/cbits/stgio.h" #-}
 module Posix  (
     module PosixDB,
     module PosixErr,
index 1a5ce4b..02206d1 100644 (file)
@@ -70,8 +70,8 @@ int   copyenv     (void);
 int    _setenv     (char *);
 int    delenv      (char *);
 int    execvpe     (char *, char **, char **);
-void    stg_sigaddset(sigset_t *newset, sigset_t *oldset, int signum);
-void    stg_sigdelset(sigset_t *newset, sigset_t *oldset, int signum);
+void    stg_sigaddset(StgByteArray newset, StgByteArray oldset, int signum);
+void    stg_sigdelset(StgByteArray newset, StgByteArray oldset, int signum);
 
 #define LIBPOSIX_H
 #endif
index 9811306..e4d7112 100644 (file)
@@ -7,21 +7,23 @@
  * and it is not posible to do the inline (_casm_). These functions 
  * aren't inline because it causes gcc to run out of registers on x86.
  *
+ * Ugly casting added by SUP to avoid C compiler warnings about
+ * incompatible pointer types.
  */
 
 #include "Rts.h"
 #include "libposix.h"
 
 void
-stg_sigaddset(sigset_t *newset, sigset_t *oldset, int signum)
+stg_sigaddset(StgByteArray newset, StgByteArray oldset, int signum)
 {
-       *newset = *oldset;
-       sigaddset(newset, signum);
+       *((sigset_t *)newset) = *((sigset_t *)oldset);
+       sigaddset((sigset_t *)newset, signum);
 }
 
 void
-stg_sigdelset(sigset_t *newset, sigset_t *oldset, int signum)
+stg_sigdelset(StgByteArray newset, StgByteArray oldset, int signum)
 {
-       *newset = *oldset;
-       sigdelset(newset, signum);
+       *((sigset_t *)newset) = *((sigset_t *)oldset);
+       sigdelset((sigset_t *)newset, signum);
 }
index 077dc3f..b93123a 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: Proftimer.c,v 1.3 1999/02/05 16:02:48 simonm Exp $
+ * $Id: Proftimer.c,v 1.4 1999/08/04 17:03:41 panne Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
@@ -52,9 +52,13 @@ startProfTimer(void)
   }
 };
 
+/* For a small collection of signal handler prototypes, see
+   http://web2.airmail.net/sjbaker1/software/signal_collection.html */
+
 void
-handleProfTick(void)
+handleProfTick(int unused)
 {
+  (void)unused;   /* no warnings, please */
   CCS_TICK(CCCS);
   total_ticks++;
 };
index 915b0d0..1e1a090 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: Proftimer.h,v 1.2 1998/12/02 13:28:37 simonm Exp $
+ * $Id: Proftimer.h,v 1.3 1999/08/04 17:03:41 panne Exp $
  *
  * (c) The GHC Team, 1998
  *
@@ -10,5 +10,5 @@
 extern void initProfTimer(nat ms);
 extern void stopProfTimer(void);
 extern void startProfTimer(void);
-extern void handleProfTick(void);
+extern void handleProfTick(int unused);