From 95e36280e5f825269babd2c322586b9f632f6148 Mon Sep 17 00:00:00 2001 From: Tim Besard Date: Mon, 7 Nov 2011 09:37:55 +0100 Subject: Lowercase is nicer. --- src/spinbarrier.cpp | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/spinbarrier.cpp (limited to 'src/spinbarrier.cpp') 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 + + +// +// 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); +} -- cgit v1.2.3