From 26e36b3a9d7b49d46ecfa69b447482251acba8ac Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 24 Jan 2024 16:53:38 +0300 Subject: Turn libodb repository into package for muti-package repository --- libodb/odb/details/win32/condition.ixx | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 libodb/odb/details/win32/condition.ixx (limited to 'libodb/odb/details/win32/condition.ixx') diff --git a/libodb/odb/details/win32/condition.ixx b/libodb/odb/details/win32/condition.ixx new file mode 100644 index 0000000..37a2bac --- /dev/null +++ b/libodb/odb/details/win32/condition.ixx @@ -0,0 +1,30 @@ +// file : odb/details/win32/condition.ixx +// 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