* Test enabling signal handling in the event library. Because this might
have some nasty side effect we don't know about, make it a configure option for now. Also add a harmless signal handler to the pcm open (since pcm_open will have a signal handler eventually for SIGCHLD, I think). Use --enable-event-signals / --disable-event-signals to control behavior. This commit was SVN r2748.
Этот коммит содержится в:
родитель
62ea85332c
Коммит
857fd5740f
@ -260,5 +260,25 @@ fi
|
|||||||
|
|
||||||
AM_CONDITIONAL(WANT_DEPRECATED_EXECUTABLE_NAMES, test "$WANT_DEN" = "1")
|
AM_CONDITIONAL(WANT_DEPRECATED_EXECUTABLE_NAMES, test "$WANT_DEN" = "1")
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Do we want event signal handlers
|
||||||
|
# BWB - this needs to be removed before release - XXX
|
||||||
|
#
|
||||||
|
AC_MSG_CHECKING([if want event library signal handling])
|
||||||
|
AC_ARG_ENABLE(event-signals,
|
||||||
|
AC_HELP_STRING([--enable-event-signals],
|
||||||
|
[Do we want to use the event library signal handlers (default: enabled)]))
|
||||||
|
if test "$enable_event_signals" != "no"; then
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
use_event_signals=1
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
use_event_siganls=0
|
||||||
|
fi
|
||||||
|
AC_DEFINE_UNQUOTED(OMPI_EVENT_USE_SIGNALS, $use_event_signals,
|
||||||
|
[Do we want to use the event library signal handlers])
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
])
|
])
|
||||||
|
@ -64,9 +64,11 @@ extern "C" {
|
|||||||
#define OMPI_EV_SIGNAL 0x08
|
#define OMPI_EV_SIGNAL 0x08
|
||||||
#define OMPI_EV_PERSIST 0x10 /* Persistant event */
|
#define OMPI_EV_PERSIST 0x10 /* Persistant event */
|
||||||
|
|
||||||
|
#if 0
|
||||||
#ifndef OMPI_EVENT_USE_SIGNALS
|
#ifndef OMPI_EVENT_USE_SIGNALS
|
||||||
#define OMPI_EVENT_USE_SIGNALS 0
|
#define OMPI_EVENT_USE_SIGNALS 0
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Fix so that ppl dont have to run with <sys/queue.h> */
|
/* Fix so that ppl dont have to run with <sys/queue.h> */
|
||||||
#ifndef TAILQ_ENTRY
|
#ifndef TAILQ_ENTRY
|
||||||
|
@ -9,6 +9,8 @@
|
|||||||
#include "mca/pcm/pcm.h"
|
#include "mca/pcm/pcm.h"
|
||||||
#include "mca/pcm/base/base.h"
|
#include "mca/pcm/base/base.h"
|
||||||
#include "util/output.h"
|
#include "util/output.h"
|
||||||
|
#include "event/event.h"
|
||||||
|
#include <signal.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following file was created by configure. It contains extern
|
* The following file was created by configure. It contains extern
|
||||||
@ -19,6 +21,15 @@
|
|||||||
#include "mca/pcm/base/static-components.h"
|
#include "mca/pcm/base/static-components.h"
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
signal_cb(int fd, short event, void *arg)
|
||||||
|
{
|
||||||
|
struct ompi_event *signal = arg;
|
||||||
|
|
||||||
|
printf("%s: got signal %d\n", "signal_cb", OMPI_EVENT_SIGNAL(signal));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Global variables
|
* Global variables
|
||||||
*/
|
*/
|
||||||
@ -32,6 +43,22 @@ ompi_list_t mca_pcm_base_components_available;
|
|||||||
*/
|
*/
|
||||||
int mca_pcm_base_open(void)
|
int mca_pcm_base_open(void)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
* XXX: BEGIN DEBUGGING CODE BWB NEEDS TO REMOVE
|
||||||
|
*/
|
||||||
|
struct ompi_event *signal_int;
|
||||||
|
signal_int = malloc(sizeof(struct ompi_event));
|
||||||
|
|
||||||
|
/* Initalize one event */
|
||||||
|
ompi_event_set(signal_int, SIGHUP, OMPI_EV_SIGNAL|OMPI_EV_PERSIST, signal_cb,
|
||||||
|
signal_int);
|
||||||
|
|
||||||
|
ompi_event_add(signal_int, NULL);
|
||||||
|
/*
|
||||||
|
* XXX: END DEBUGGING CODE BWB NEEDS TO REMOVE
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/* Open up all available components */
|
/* Open up all available components */
|
||||||
|
|
||||||
if (OMPI_SUCCESS !=
|
if (OMPI_SUCCESS !=
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user