mirror of
https://github.com/SDL-Hercules-390/hyperion.git
synced 2026-04-21 11:16:38 +02:00
OPTION_WAKEUP_SELECT_VIA_PIPE made permanent; build option removed.
This commit is contained in:
@@ -94,9 +94,6 @@
|
||||
// #define SIE_DEBUG_PERFMON /* SIE performance monitor */
|
||||
#define OPTION_LPARNAME /* DIAG 204 lparname */
|
||||
#define OPTION_HTTP_SERVER /* HTTP server support */
|
||||
#define OPTION_WAKEUP_SELECT_VIA_PIPE /* Use communication pipes to
|
||||
interrupt selects instead
|
||||
of inter-thread signaling */
|
||||
#define OPTION_TIMESTAMP_LOGFILE /* Hardcopy logfile HH:MM:SS */
|
||||
#define OPTION_IPLPARM /* IPL PARM a la VM */
|
||||
#define OPTION_CAPPING /* Enable capping cnf stmnt */
|
||||
|
||||
@@ -42,8 +42,8 @@
|
||||
#define S_IWGRP 0
|
||||
#endif
|
||||
|
||||
#ifndef SIGUSR2 // (needs defined for OPTION_WAKEUP_SELECT_VIA_PIPE)
|
||||
#define SIGUSR2 31 // (the value's unimportant, but we'll be accurate)
|
||||
#ifndef SIGUSR2
|
||||
#define SIGUSR2 31
|
||||
#endif
|
||||
|
||||
#ifndef IFNAMSIZ
|
||||
|
||||
77
hmacros.h
77
hmacros.h
@@ -867,58 +867,39 @@ do { \
|
||||
/*-------------------------------------------------------------------*/
|
||||
/* Pipe signaling support... (i.e. thread signaling via pipe) */
|
||||
/*-------------------------------------------------------------------*/
|
||||
#if defined( OPTION_WAKEUP_SELECT_VIA_PIPE )
|
||||
|
||||
#define RECV_PIPE_SIGNAL( rfd, lock, flag ) \
|
||||
do { \
|
||||
int f; int saved_errno=get_HSO_errno(); BYTE c=0; \
|
||||
obtain_lock(&(lock)); \
|
||||
if ((f=(flag))>=1) (flag)=0; \
|
||||
release_lock(&(lock)); \
|
||||
if (f>=1) \
|
||||
VERIFY(read_pipe((rfd),&c,1)==1); \
|
||||
set_HSO_errno(saved_errno); \
|
||||
} while (0)
|
||||
#define RECV_PIPE_SIGNAL( rfd, lock, flag ) \
|
||||
do { \
|
||||
int f; int saved_errno=get_HSO_errno(); BYTE c=0; \
|
||||
obtain_lock(&(lock)); \
|
||||
if ((f=(flag))>=1) (flag)=0; \
|
||||
release_lock(&(lock)); \
|
||||
if (f>=1) \
|
||||
VERIFY(read_pipe((rfd),&c,1)==1); \
|
||||
set_HSO_errno(saved_errno); \
|
||||
} while (0)
|
||||
|
||||
#define SEND_PIPE_SIGNAL( wfd, lock, flag ) \
|
||||
do { \
|
||||
int f; int saved_errno=get_HSO_errno(); BYTE c=0; \
|
||||
obtain_lock(&(lock)); \
|
||||
if ((f=(flag))<=0) (flag)=1; \
|
||||
release_lock(&(lock)); \
|
||||
if (f<=0) \
|
||||
VERIFY(write_pipe((wfd),&c,1)==1); \
|
||||
set_HSO_errno(saved_errno); \
|
||||
} while (0)
|
||||
#define SEND_PIPE_SIGNAL( wfd, lock, flag ) \
|
||||
do { \
|
||||
int f; int saved_errno=get_HSO_errno(); BYTE c=0; \
|
||||
obtain_lock(&(lock)); \
|
||||
if ((f=(flag))<=0) (flag)=1; \
|
||||
release_lock(&(lock)); \
|
||||
if (f<=0) \
|
||||
VERIFY(write_pipe((wfd),&c,1)==1); \
|
||||
set_HSO_errno(saved_errno); \
|
||||
} while (0)
|
||||
|
||||
#define SUPPORT_WAKEUP_SELECT_VIA_PIPE( pipe_rfd, maxfd, prset ) \
|
||||
FD_SET((pipe_rfd),(prset)); \
|
||||
(maxfd)=(maxfd)>(pipe_rfd)?(maxfd):(pipe_rfd)
|
||||
#define SUPPORT_WAKEUP_SELECT_VIA_PIPE( pipe_rfd, maxfd, prset ) \
|
||||
FD_SET((pipe_rfd),(prset)); \
|
||||
(maxfd)=(maxfd)>(pipe_rfd)?(maxfd):(pipe_rfd)
|
||||
|
||||
#define SUPPORT_WAKEUP_CONSOLE_SELECT_VIA_PIPE( maxfd, prset ) SUPPORT_WAKEUP_SELECT_VIA_PIPE( sysblk.cnslrpipe, (maxfd), (prset) )
|
||||
#define SUPPORT_WAKEUP_SOCKDEV_SELECT_VIA_PIPE( maxfd, prset ) SUPPORT_WAKEUP_SELECT_VIA_PIPE( sysblk.sockrpipe, (maxfd), (prset) )
|
||||
#define SUPPORT_WAKEUP_CONSOLE_SELECT_VIA_PIPE( maxfd, prset ) SUPPORT_WAKEUP_SELECT_VIA_PIPE( sysblk.cnslrpipe, (maxfd), (prset) )
|
||||
#define SUPPORT_WAKEUP_SOCKDEV_SELECT_VIA_PIPE( maxfd, prset ) SUPPORT_WAKEUP_SELECT_VIA_PIPE( sysblk.sockrpipe, (maxfd), (prset) )
|
||||
|
||||
#define RECV_CONSOLE_THREAD_PIPE_SIGNAL() RECV_PIPE_SIGNAL( sysblk.cnslrpipe, sysblk.cnslpipe_lock, sysblk.cnslpipe_flag )
|
||||
#define RECV_SOCKDEV_THREAD_PIPE_SIGNAL() RECV_PIPE_SIGNAL( sysblk.sockrpipe, sysblk.sockpipe_lock, sysblk.sockpipe_flag )
|
||||
#define SIGNAL_CONSOLE_THREAD() SEND_PIPE_SIGNAL( sysblk.cnslwpipe, sysblk.cnslpipe_lock, sysblk.cnslpipe_flag )
|
||||
#define SIGNAL_SOCKDEV_THREAD() SEND_PIPE_SIGNAL( sysblk.sockwpipe, sysblk.sockpipe_lock, sysblk.sockpipe_flag )
|
||||
|
||||
#else // !defined( OPTION_WAKEUP_SELECT_VIA_PIPE )
|
||||
|
||||
#define RECV_PIPE_SIGNAL( rfd, lock, flag )
|
||||
#define SEND_PIPE_SIGNAL( wfd, lock, flag )
|
||||
|
||||
#define SUPPORT_WAKEUP_SELECT_VIA_PIPE( pipe_rfd, maxfd, prset )
|
||||
|
||||
#define SUPPORT_WAKEUP_CONSOLE_SELECT_VIA_PIPE( maxfd, prset )
|
||||
#define SUPPORT_WAKEUP_SOCKDEV_SELECT_VIA_PIPE( maxfd, prset )
|
||||
|
||||
#define RECV_CONSOLE_THREAD_PIPE_SIGNAL()
|
||||
#define RECV_SOCKDEV_THREAD_PIPE_SIGNAL()
|
||||
|
||||
#define SIGNAL_CONSOLE_THREAD() signal_thread( sysblk.cnsltid, SIGUSR2 )
|
||||
#define SIGNAL_SOCKDEV_THREAD() signal_thread( sysblk.socktid, SIGUSR2 )
|
||||
|
||||
#endif // defined( OPTION_WAKEUP_SELECT_VIA_PIPE )
|
||||
#define RECV_CONSOLE_THREAD_PIPE_SIGNAL() RECV_PIPE_SIGNAL( sysblk.cnslrpipe, sysblk.cnslpipe_lock, sysblk.cnslpipe_flag )
|
||||
#define RECV_SOCKDEV_THREAD_PIPE_SIGNAL() RECV_PIPE_SIGNAL( sysblk.sockrpipe, sysblk.sockpipe_lock, sysblk.sockpipe_flag )
|
||||
#define SIGNAL_CONSOLE_THREAD() SEND_PIPE_SIGNAL( sysblk.cnslwpipe, sysblk.cnslpipe_lock, sysblk.cnslpipe_flag )
|
||||
#define SIGNAL_SOCKDEV_THREAD() SEND_PIPE_SIGNAL( sysblk.sockwpipe, sysblk.sockpipe_lock, sysblk.sockpipe_flag )
|
||||
|
||||
#endif // _HMACROS_H
|
||||
|
||||
@@ -573,7 +573,6 @@ struct SYSBLK {
|
||||
int kaidle; /* Keepalive idle seconds */
|
||||
int kaintv; /* Keepalive probe interval */
|
||||
int kacnt; /* Keepalive probe count */
|
||||
#if defined( OPTION_WAKEUP_SELECT_VIA_PIPE )
|
||||
LOCK cnslpipe_lock; /* signaled flag access lock */
|
||||
int cnslpipe_flag; /* 1 == already signaled */
|
||||
int cnslwpipe; /* fd for sending signal */
|
||||
@@ -582,7 +581,6 @@ struct SYSBLK {
|
||||
int sockpipe_flag; /* 1 == already signaled */
|
||||
int sockwpipe; /* Sockdev signaling pipe Wr */
|
||||
int sockrpipe; /* Sockdev signaling pipe Rd */
|
||||
#endif // defined( OPTION_WAKEUP_SELECT_VIA_PIPE )
|
||||
RADR mbo; /* Measurement block origin */
|
||||
BYTE mbk; /* Measurement block key */
|
||||
int mbm; /* Measurement block mode */
|
||||
|
||||
2
impl.c
2
impl.c
@@ -983,7 +983,6 @@ int dll_count; /* index into array */
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined( OPTION_WAKEUP_SELECT_VIA_PIPE )
|
||||
{
|
||||
int fds[2];
|
||||
initialize_lock(&sysblk.cnslpipe_lock);
|
||||
@@ -997,7 +996,6 @@ int dll_count; /* index into array */
|
||||
sysblk.sockwpipe=fds[1];
|
||||
sysblk.sockrpipe=fds[0];
|
||||
}
|
||||
#endif // defined( OPTION_WAKEUP_SELECT_VIA_PIPE )
|
||||
|
||||
#if !defined(NO_SIGABEND_HANDLER)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user