Some small pedantic changes to get function prototypes right.
\section[Posix]{Haskell 1.3 POSIX bindings}
\begin{code}
+{-# OPTIONS -#include "../std/cbits/stgio.h" #-}
module Posix (
module PosixDB,
module PosixErr,
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
* 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);
}
/* -----------------------------------------------------------------------------
- * $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
*
}
};
+/* 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++;
};
/* -----------------------------------------------------------------------------
- * $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
*
extern void initProfTimer(nat ms);
extern void stopProfTimer(void);
extern void startProfTimer(void);
-extern void handleProfTick(void);
+extern void handleProfTick(int unused);