From 6fb470a39ef8900b71634333b0a2227dc8b62799 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 26 Aug 2010 14:52:12 +0200 Subject: Add support for creating other build systems (meta-building) Add support for automake, VC++ 9, and VC++ 10. Also add the Win32 and 'NULL' threading model implementations. --- odb/details/win32/condition.ixx | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 odb/details/win32/condition.ixx (limited to 'odb/details/win32/condition.ixx') diff --git a/odb/details/win32/condition.ixx b/odb/details/win32/condition.ixx new file mode 100644 index 0000000..4a6bd1d --- /dev/null +++ b/odb/details/win32/condition.ixx @@ -0,0 +1,32 @@ +// file : odb/details/win32/condition.ixx +// author : Boris Kolpackov +// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC +// license : GNU GPL v2; see accompanying LICENSE file + +#include + +namespace odb +{ + namespace details + { + inline condition:: + ~condition () + { + CloseHandle (event_); + } + + inline condition:: + condition (mutex& mutex) + : mutex_ (mutex), waiters_ (0), signals_ (0) + { + // Auto-reset event. Releases one waiting thread and automatically + // resets the event state. If no threads are waiting the event + // remains signalled. + // + event_ = CreateEvent (0, false, false, 0); + + if (event_ == 0) + throw win32_exception (); + } + } +} -- cgit v1.1