void PR_Elimina_request (PR_Queue_t * cua, MPI_Request* reqid)
{
  PR_Queue_t *element_cua;

  element_cua = PR_QueueSearch (cua, reqid);
  if (element_cua == NULL)
    return;
  free (element_cua->request);
  REMOVE_ITEM (element_cua);
  free (element_cua);
}
예제 #2
0
void PR_Elimina_request (PR_Queue_t * cua, MPI_Request* reqid)
{
  PR_Queue_t *element_cua;

#if defined(MPI_HAS_INIT_THREAD_C) || defined(MPI_HAS_INIT_THREAD_F)
  pthread_mutex_lock(&pr_lock);
#endif
  element_cua = PR_QueueSearch (cua, reqid);
  if (element_cua == NULL)
  {
#if defined(MPI_HAS_INIT_THREAD_C) || defined(MPI_HAS_INIT_THREAD_F)
  pthread_mutex_unlock(&pr_lock);
#endif
    return;
  }
  free (element_cua->request);
  REMOVE_ITEM (element_cua);
  free (element_cua);
#if defined(MPI_HAS_INIT_THREAD_C) || defined(MPI_HAS_INIT_THREAD_F)
  pthread_mutex_unlock(&pr_lock);
#endif
}