@@ -18,11 +18,11 @@ #include "objfw-defs.h" #include "platform.h" #if !defined(OF_HAVE_THREADS) || \ - (!defined(OF_HAVE_PTHREADS) && !defined(OF_WINDOWS)) + (!defined(OF_HAVE_PTHREADS) && !defined(OF_WINDOWS) && !defined(OF_AMIGAOS)) # error No conditions available! #endif /* For of_time_interval_t */ #import "OFObject.h" @@ -34,11 +34,20 @@ typedef pthread_cond_t of_condition_t; #elif defined(OF_WINDOWS) # include typedef struct { HANDLE event; - int count; + volatile int count; +} of_condition_t; +#elif defined(OF_AMIGAOS) +# include +typedef struct { + struct of_condition_waiting_task { + struct Task *task; + uint8_t sigBit; + struct of_condition_waiting_task *next; + } *waitingTasks; } of_condition_t; #endif #ifdef __cplusplus extern "C" {