// Common, group Threads
// Copyright 2001,2002 Alexander Liss

//     	Various wait functions


#ifndef __AWAIT_H__
#define __AWAIT_H__


class ACondition;
class AMutex;
class AEvent;
class AThreadControl;


int AWait(ACondition& condition,AMutex& mutex);
int AWait(ACondition& condition,AMutex& mutex,unsigned timeout_milliseconds);

int AWait(AEvent& event);
int AWait(AEvent& event,unsigned timeout_milliseconds);

int AWait(AThreadControl& thread);

// can be interrupted by a signal
int millisleep(unsigned& left_milliseconds, unsigned initial_milliseconds);

#endif