M_SYNC(3P)

NAME
m_sync - check in at barrier

SYNOPSIS
C syntax:

#include <parallel/microtask.h>
m_sync();

Pascal syntax

procedure m_sync;
cexternal;

FORTRAN syntax

subroutine m_sync

DESCRIPTION
The m_sync routine causes a process to spin until all cooperating processes have reached the same point and called m_sync. The program must not call the m_sync routine unless there are multiple processes executing; that is, unless the program is executing a subprogram during an m_fork call and is not between a pair of m_single/m_multi, m_lock/m_unlock, or s_lock/s_unlock calls.

NOTES
Calls to m_sync reset the global counter (see m_next).

RETURN VALUE
Upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned and errno is set to indicate the error.

ERRORS
These routines can return the following error:

[EINVAL]
    There are no child processes executing.

SEE ALSO
m_set_procs(3P), m_fork(3P), m_single(3P), m_park_procs(3P), m_kill_procs(3P), m_next(3P), Guide to Parallel Programming