87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
return OFPlainConditionWaitOrExecSignal(condition, mutex, &signalMask);
}
int
OFPlainConditionWaitOrExecSignal(OFPlainCondition *condition,
OFPlainMutex *mutex, ULONG *signalMask)
{
struct OFPlainConditionWaitingTask waitingTask = {
.task = FindTask(NULL),
.sigBit = AllocSignal(-1)
};
int error = 0;
ULONG mask;
if (waitingTask.sigBit == -1)
|
|
|
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
return OFPlainConditionWaitOrExecSignal(condition, mutex, &signalMask);
}
int
OFPlainConditionWaitOrExecSignal(OFPlainCondition *condition,
OFPlainMutex *mutex, ULONG *signalMask)
{
struct _OFPlainConditionWaitingTask waitingTask = {
.task = FindTask(NULL),
.sigBit = AllocSignal(-1)
};
int error = 0;
ULONG mask;
if (waitingTask.sigBit == -1)
|
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
&signalMask);
}
int
OFPlainConditionTimedWaitOrExecSignal(OFPlainCondition *condition,
OFPlainMutex *mutex, OFTimeInterval timeout, ULONG *signalMask)
{
struct OFPlainConditionWaitingTask waitingTask = {
.task = FindTask(NULL),
.sigBit = AllocSignal(-1)
};
struct MsgPort port = {
.mp_Node = {
.ln_Type = NT_MSGPORT
},
|
|
|
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
&signalMask);
}
int
OFPlainConditionTimedWaitOrExecSignal(OFPlainCondition *condition,
OFPlainMutex *mutex, OFTimeInterval timeout, ULONG *signalMask)
{
struct _OFPlainConditionWaitingTask waitingTask = {
.task = FindTask(NULL),
.sigBit = AllocSignal(-1)
};
struct MsgPort port = {
.mp_Node = {
.ln_Type = NT_MSGPORT
},
|