U555 - solaris compilation bits
- If you have Gnome installed on solaris, the GETRES support wouldn't build. I don't have access to a solaris system with Gnome installed, but hacked unixconf.h to force the GETRES code itself to be compiled. So, I believe the unixres.c change will work for folks really using Gnome on Solaris. Whether the rest of the gnome code will build there is beyond me. - I accidentally left TIMED_DELAY defined and the Solaris build failed. While solaris has usleep(), this is not part of SVR4 as far as I can tell. But, SysV does have poll, so I implemented msleep() for SysV systems in terms of poll. So, you can now define TIMED_DELAY on any SYSV build.
This commit is contained in:
@@ -138,6 +138,7 @@ unix: don't autosave if hangup occurs after game is over
|
||||
linux: add example use of nroff on recent Linux distros
|
||||
linux: use random() by default instead of lrand48()
|
||||
OpenBSD: time() prototype and correct default Mail program
|
||||
Gnome: compilation problems on Solaris
|
||||
|
||||
|
||||
General New Features
|
||||
@@ -149,4 +150,5 @@ Platform- and/or Interface-Specific New Features
|
||||
win32tty: keystroke handlers can be dynamically loaded to assist in resolving
|
||||
internationalization issues
|
||||
win32tty: add Ray Chason's code for international keyboard handling
|
||||
Solaris (and other SystemV variants): TIMED_DELAY support
|
||||
|
||||
|
||||
@@ -2070,6 +2070,9 @@ E void VDECL(error, (const char *,...)) PRINTF_F(1,2);
|
||||
#ifdef UNIX
|
||||
E void NDECL(getlock);
|
||||
E void FDECL(regularize, (char *));
|
||||
# if defined(TIMED_DELAY) && !defined(msleep) && defined(SYSV)
|
||||
E void FDECL(msleep, (unsigned));
|
||||
# endif
|
||||
# ifdef SHELL
|
||||
E int NDECL(dosh);
|
||||
# endif /* SHELL */
|
||||
|
||||
@@ -61,6 +61,10 @@ uid_t *ruid, *euid, *suid;
|
||||
|
||||
# else /* SYS_getresuid */
|
||||
|
||||
#ifdef SVR4
|
||||
#include <sys/stat.h>
|
||||
#endif /* SVR4 */
|
||||
|
||||
static int
|
||||
real_getresuid(ruid, euid, suid)
|
||||
uid_t *ruid, *euid, *suid;
|
||||
|
||||
@@ -219,6 +219,21 @@ register char *s;
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined(TIMED_DELAY) && !defined(msleep) && defined(SYSV)
|
||||
#include <poll.h>
|
||||
|
||||
void
|
||||
msleep(msec)
|
||||
unsigned msec; /* milliseconds */
|
||||
{
|
||||
struct pollfd unused;
|
||||
int msecs = msec; /* poll API is signed */
|
||||
|
||||
if (msecs < 0) msecs = 0; /* avoid infinite sleep */
|
||||
(void) poll(&unused, (unsigned long)0, msecs);
|
||||
}
|
||||
#endif /* TIMED_DELAY for SYSV */
|
||||
|
||||
#ifdef SHELL
|
||||
int
|
||||
dosh()
|
||||
|
||||
Reference in New Issue
Block a user