From ec56b2399e4a132973853f118d2497c7ad6f1c60 Mon Sep 17 00:00:00 2001 From: Rodrigo Kumpera Date: Thu, 17 Mar 2011 18:05:30 +0100 Subject: [PATCH] Revert "[io-layer] Handle process waits when SHM is disabled." This reverts commit 2bb69090d7955869779445e9f13a311119b9f79b. --- mono/io-layer/handles.c | 2 -- mono/io-layer/process-private.h | 1 - mono/io-layer/processes.c | 33 --------------------------------- 3 files changed, 36 deletions(-) diff --git a/mono/io-layer/handles.c b/mono/io-layer/handles.c index d745e42bd14..b69be1bc79c 100644 --- a/mono/io-layer/handles.c +++ b/mono/io-layer/handles.c @@ -276,8 +276,6 @@ static void shared_init (void) /* This allocates a 4mb array, so do it only if SHM is enabled */ _wapi_fileshare_layout = _wapi_shm_attach (WAPI_SHM_FILESHARE); g_assert (_wapi_fileshare_layout != NULL); - } else { - _wapi_process_noshm_wait_setup (); } #if !defined (DISABLE_SHARED_HANDLES) diff --git a/mono/io-layer/process-private.h b/mono/io-layer/process-private.h index a6c7e58a979..8d1c80abde3 100644 --- a/mono/io-layer/process-private.h +++ b/mono/io-layer/process-private.h @@ -42,6 +42,5 @@ struct _WapiHandle_process extern void _wapi_process_reap (void); extern void _wapi_process_signal_self (void); -extern void _wapi_process_noshm_wait_setup (void); #endif /* _WAPI_PROCESS_PRIVATE_H_ */ diff --git a/mono/io-layer/processes.c b/mono/io-layer/processes.c index c981256e64e..33037f1a69f 100644 --- a/mono/io-layer/processes.c +++ b/mono/io-layer/processes.c @@ -365,40 +365,7 @@ void _wapi_process_signal_self () process_set_termination_details (current_process, 0); } } - -#ifndef HAVE_SIGACTION -void -_wapi_process_noshm_wait_setup (void) -{ -} -#else -static void -sigchld_signal (int dummy, siginfo_t *info, void *context) -{ - struct _WapiHandle_process *process_handle; - gpointer p; - int status; - - p = (gpointer) info->si_pid; - /* If the handle exists, wait for it using process_wait, which will fill in the data. - * If the handle does not exist, call waitpid() to avoid leaving a zombie */ - if (_wapi_lookup_handle (p, WAPI_HANDLE_PROCESS, (gpointer *)&process_handle) != FALSE) - process_wait (p, 0); - else - waitpid (info->si_pid, &status, WNOHANG); -} - -void -_wapi_process_noshm_wait_setup (void) -{ - struct sigaction sa; - sa.sa_sigaction = sigchld_signal; - sa.sa_flags = SA_NOCLDSTOP | SA_SIGINFO; - sigaction (SIGCHLD, &sa, NULL); -} -#endif /* HAVE_SIGACTION */ - static void process_set_defaults (struct _WapiHandle_process *process_handle) { /* These seem to be the defaults on w2k */ -- 2.11.4.GIT