diff options
| author | Tim Besard <tim.besard@gmail.com> | 2011-11-07 09:37:55 +0100 | 
|---|---|---|
| committer | Tim Besard <tim.besard@gmail.com> | 2011-11-07 09:37:55 +0100 | 
| commit | 95e36280e5f825269babd2c322586b9f632f6148 (patch) | |
| tree | 216e48b5420c63e5c1e73007ab7dd101d3b862df /src/spinbarrier.cpp | |
| parent | 79e05bc1408247729b5e232c662dfd62cd1080c3 (diff) | |
Lowercase is nicer.
Diffstat (limited to 'src/spinbarrier.cpp')
| -rw-r--r-- | src/spinbarrier.cpp | 54 | 
1 files changed, 54 insertions, 0 deletions
| diff --git a/src/spinbarrier.cpp b/src/spinbarrier.cpp new file mode 100644 index 0000000..e7d3b70 --- /dev/null +++ b/src/spinbarrier.cpp @@ -0,0 +1,54 @@ +/*******************************************************************************
 + * Copyright (c) 2006 International Business Machines Corporation.             *
 + * All rights reserved. This program and the accompanying materials            *
 + * are made available under the terms of the Common Public License v1.0        *
 + * which accompanies this distribution, and is available at                    *
 + * http://www.opensource.org/licenses/cpl1.0.php                               *
 + *                                                                             *
 + * Contributors:                                                               *
 + *    Douglas M. Pase - initial API and implementation                         *
 + *******************************************************************************/
 +
 +/******************************************************************************
 + *                                                                            *
 + * SpinBarrier                                                                *
 + *                                                                            *
 + * Author:  Douglas M. Pase                                                   *
 + *                                                                            *
 + * Date:    September 21, 2000                                                *
 + *          Translated to C++, June 19, 2005                                  *
 + *                                                                            *
 + *  void barrier()                                                            *
 + *                                                                            *
 + ******************************************************************************/
 +
 +//
 +// Configuration
 +//
 +
 +// Implementation header
 +#include "spinbarrier.h"
 +
 +// System includes
 +#include <cstdio>
 +
 +
 +//
 +// Implementation
 +//
 +
 +// create a new barrier
 +SpinBarrier::SpinBarrier(int participants) :
 +		limit(participants) {
 +	pthread_barrier_init(&barrier_obj, NULL, this->limit);
 +}
 +
 +// destroy an old barrier
 +SpinBarrier::~SpinBarrier() {
 +}
 +
 +// enter the barrier and wait.  everyone leaves
 +// when the last participant enters the barrier.
 +void SpinBarrier::barrier() {
 +	pthread_barrier_wait(&this->barrier_obj);
 +}
 | 
