120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
Permit();
return error;
}
int
of_condition_timed_wait(of_condition_t *condition, of_mutex_t *mutex,
of_time_interval_t timeout)
{
ULONG signalMask = 0;
return of_condition_timed_wait_or_signal(condition, mutex, timeout,
&signalMask);
}
int
of_condition_timed_wait_or_signal(of_condition_t *condition, of_mutex_t *mutex,
of_time_interval_t timeout, ULONG *signalMask)
{
struct of_condition_waiting_task waitingTask = {
.task = FindTask(NULL),
.sigBit = AllocSignal(-1)
};
struct MsgPort port = {
.mp_Node = {
|
|
|
|
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
Permit();
return error;
}
int
of_condition_timed_wait(of_condition_t *condition, of_mutex_t *mutex,
OFTimeInterval timeout)
{
ULONG signalMask = 0;
return of_condition_timed_wait_or_signal(condition, mutex, timeout,
&signalMask);
}
int
of_condition_timed_wait_or_signal(of_condition_t *condition, of_mutex_t *mutex,
OFTimeInterval timeout, ULONG *signalMask)
{
struct of_condition_waiting_task waitingTask = {
.task = FindTask(NULL),
.sigBit = AllocSignal(-1)
};
struct MsgPort port = {
.mp_Node = {
|