Browse Source

Revert "Refs #294. Used pthread_atfork to avoid hang after a Unix fork."

This reverts commit 3617c22a56.
tags/v0.2.9.rc2^2
Olivier Grisel 11 years ago
parent
commit
046e4013cb
4 changed files with 1 additions and 29 deletions
  1. +0
    -14
      driver/others/blas_server.c
  2. +0
    -5
      driver/others/blas_server_omp.c
  3. +0
    -5
      driver/others/blas_server_win32.c
  4. +1
    -5
      driver/others/memory.c

+ 0
- 14
driver/others/blas_server.c View File

@@ -83,8 +83,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#define ATTRIBUTE_SIZE 128

extern void openblas_warning(int verbose, const char * msg);

/* This is a thread server model implementation. The threads are */
/* spawned at first access to blas library, and still remains until */
/* destruction routine is called. The number of threads are */
@@ -923,17 +921,5 @@ int BLASFUNC(blas_thread_shutdown)(void){
return 0;
}

/*
https://github.com/xianyi/OpenBLAS/issues/294
Use pthread_atfork to close blas_thread_server before fork.
Then, re-init blas_thread_server after fork at child and parent.
*/
void openblas_fork_handler()
{
int err;
err = pthread_atfork (BLASFUNC(blas_thread_shutdown), blas_thread_init, blas_thread_init);
if(err != 0)
openblas_warning(0, "OpenBLAS cannot install fork handler. You may meet hang after fork.\n");
}
#endif


+ 0
- 5
driver/others/blas_server_omp.c View File

@@ -315,9 +315,4 @@ int exec_blas(BLASLONG num, blas_queue_t *queue){
return 0;
}

void openblas_fork_handler()
{

}

#endif

+ 0
- 5
driver/others/blas_server_win32.c View File

@@ -498,8 +498,3 @@ void openblas_set_num_threads(int num)
{
goto_set_num_threads(num);
}

void openblas_fork_handler()
{

}

+ 1
- 5
driver/others/memory.c View File

@@ -1288,11 +1288,7 @@ void CONSTRUCTOR gotoblas_init(void) {
#ifdef SMP
if (blas_cpu_number == 0) blas_get_cpu_number();
#ifdef SMP_SERVER
if (blas_server_avail == 0) {
blas_thread_init();
//deal with pthread and fork.
openblas_fork_handler();
}
if (blas_server_avail == 0) blas_thread_init();
#endif
#endif



Loading…
Cancel
Save