#include "common.h"
#include <stdlib.h>
#include <ctype.h>
#include <math.h>
#include <string.h>
#include <signal.h>
#include "bio.h"
#include "bu/debug.h"
#include "bu/log.h"
#include "bu/malloc.h"
#include "bu/parallel.h"
#include "bu/str.h"
#include "./parallel.h"
Include dependency graph for parallel.c:

Go to the source code of this file.

Data Structures

struct  parallel_info
struct  thread_data


enum  parallel_action_t { PARALLEL_GET = 0, PARALLEL_PUT = 1 }


int bu_parallel_id (void)
int bu_is_parallel (void)
void bu_nice_set (int newnice)
size_t bu_avail_cpus (void)
void bu_parallel (void(*func)(int, void *), int ncpu, void *arg)

Detailed Description

subroutine to determine if we are multi-threaded

This subroutine is separated off from parallel.c so that bu_bomb() and others can call it, without causing either parallel.c or semaphore.c to get referenced and thus causing the loader to drag in all the parallel processing stuff from the vendor library.

routines for parallel processing

Machine-specific routines for portable parallel processing.

Definition in file parallel.c.

Enumeration Type Documentation


Definition at line 127 of file parallel.c.

Function Documentation

void bu_parallel ( void(*)(int, void *)  func,
int  ncpu,
void *  arg