mirror of
https://github.com/Interlisp/maiko.git
synced 2026-03-01 01:29:28 +00:00
Haiku OS port (#485)
* Haiku OS port * haiku with X11 backend * haiku has stpncpy * Haiku is not Linux. * X not stable enough on Haiku * Haiku : settimeofday is a no-op * Haiku : no need to define settimeofday at all (pointed by nbriggs) --------- Signed-off-by: Anarchos <sylvain_kerjean@hotmail.com>
This commit is contained in:
16
src/timer.c
16
src/timer.c
@@ -47,6 +47,10 @@ unsigned long tick_count = 0; /* approx 18 ticks per sec */
|
||||
#include <sys/time.h>
|
||||
#endif /* DOS */
|
||||
|
||||
#ifdef MAIKO_OS_HAIKU
|
||||
#include <OS.h>
|
||||
#endif
|
||||
|
||||
#if defined(USE_DLPI)
|
||||
#include <stropts.h>
|
||||
extern int ether_fd;
|
||||
@@ -301,6 +305,8 @@ void subr_settime(LispPTR args[])
|
||||
dosday.year = uxtime.tm_year;
|
||||
dosday.dayofweek = uxtime.tm_wday;
|
||||
_dos_setdate(&dosday);
|
||||
#elif defined(MAIKO_OS_HAIKU)
|
||||
(void)args[0];
|
||||
#elif defined(MAIKO_OS_EMSCRIPTEN)
|
||||
(void)args[0];
|
||||
#else
|
||||
@@ -556,17 +562,19 @@ static void int_io_service(int sig)
|
||||
/************************************************************************/
|
||||
|
||||
static void int_io_init(void) {
|
||||
#ifndef DOS
|
||||
#if !defined(DOS) || !defined(MAIKO_OS_HAIKU)
|
||||
struct sigaction io_action;
|
||||
io_action.sa_handler = int_io_service;
|
||||
sigemptyset(&io_action.sa_mask);
|
||||
io_action.sa_flags = 0;
|
||||
|
||||
#ifndef MAIKO_OS_HAIKU
|
||||
if (sigaction(SIGIO, &io_action, NULL) == -1) {
|
||||
perror("sigaction: SIGIO");
|
||||
} else {
|
||||
DBPRINT(("I/O interrupts enabled\n"));
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(USE_DLPI)
|
||||
DBPRINT(("INIT ETHER: Doing I_SETSIG.\n"));
|
||||
@@ -578,7 +586,7 @@ static void int_io_init(void) {
|
||||
return;
|
||||
}
|
||||
#endif /* USE_DLPI */
|
||||
#endif /* DOS */
|
||||
#endif /* DOS MAIKO_OS_HAIKU */
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
@@ -600,7 +608,9 @@ void int_block(void) {
|
||||
sigset_t signals;
|
||||
sigemptyset(&signals);
|
||||
sigaddset(&signals, SIGVTALRM);
|
||||
#ifndef MAIKO_OS_HAIKU
|
||||
sigaddset(&signals, SIGIO);
|
||||
#endif
|
||||
sigaddset(&signals, SIGALRM);
|
||||
sigaddset(&signals, SIGXFSZ);
|
||||
#ifdef FLTINT
|
||||
@@ -628,7 +638,9 @@ void int_unblock(void) {
|
||||
sigset_t signals;
|
||||
sigemptyset(&signals);
|
||||
sigaddset(&signals, SIGVTALRM);
|
||||
#ifndef MAIKO_OS_HAIKU
|
||||
sigaddset(&signals, SIGIO);
|
||||
#endif
|
||||
sigaddset(&signals, SIGALRM);
|
||||
sigaddset(&signals, SIGXFSZ);
|
||||
#ifdef FLTINT
|
||||
|
||||
Reference in New Issue
Block a user