16#ifndef MUMPS_IO_THREAD_H
17#define MUMPS_IO_THREAD_H
20#if ! defined (MUMPS_WIN32) && ! defined (WITHOUT_PTHREAD)
23# include <sys/types.h>
27# define MAX_FINISH_REQ 40
28# define IO_FLAG_STOP 1
pthread_cond_t cond_nb_free_finished_requests
MUMPS_INT int_sem_nb_free_finished_requests
MUMPS_INT nb_finished_requests
MUMPS_INT mumps_owns_mutex
pthread_cond_t cond_nb_free_active_requests
MUMPS_INT int_sem_nb_free_active_requests
MUMPS_INT test_request_called_from_mumps
struct request_io * io_queue
MUMPS_INT last_finished_requests
pthread_mutex_t io_mutex_cond
MUMPS_INT first_finished_requests
MUMPS_INT * finished_requests_id
MUMPS_INT * finished_requests_inode
MUMPS_INT smallest_request_id
MUMPS_INT current_req_num
MUMPS_INT mumps_async_write_th(const MUMPS_INT *strat_IO, void *address_block, long long block_size, MUMPS_INT *inode, MUMPS_INT *request_arg, MUMPS_INT *type, long long vaddr, MUMPS_INT *ierr)
MUMPS_INT mumps_clean_finished_queue_th()
MUMPS_INT mumps_async_read_th(const MUMPS_INT *strat_IO, void *address_block, long long block_size, MUMPS_INT *inode, MUMPS_INT *request_arg, MUMPS_INT *type, long long vaddr, MUMPS_INT *ierr)
MUMPS_INT mumps_post_sem(void *arg, pthread_cond_t *cond)
MUMPS_INT mumps_clean_io_data_c_th(MUMPS_INT *myid)
MUMPS_INT mumps_is_there_finished_request_th(MUMPS_INT *flag)
MUMPS_INT mumps_low_level_init_ooc_c_th(MUMPS_INT *async, MUMPS_INT *ierr)
MUMPS_INT mumps_test_request_th(MUMPS_INT *request_id, MUMPS_INT *flag)
MUMPS_INT mumps_wait_request_th(MUMPS_INT *request_id)
MUMPS_INT mumps_wait_req_sem_th(MUMPS_INT *request_id)
MUMPS_INT mumps_wait_sem(void *arg, pthread_cond_t *cond)
void * mumps_async_thread_function_with_sem(void *arg)
MUMPS_INT mumps_get_sem(void *arg, MUMPS_INT *value)
MUMPS_INT mumps_clean_request_th(MUMPS_INT *request_id)
*fortran !University of Stuttgart All rights reserved Inc All rights reserved ! $COPYRIGHT$ !Additional copyrights may follow ! $HEADER$ !WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING !Do ***not ***copy this file to the directory where your Fortran !fortran application is compiled unless it is absolutely necessary !Most !modern Fortran compilers now support the I command line flag
pthread_cond_t local_cond