* Added THREAD_BLOCK_TYPE_OTHER.
* Made the object pointer passed to thread_prepare_to_block() const, so that strings can be passed without casting. Passing a string could maybe be made a convention for THREAD_BLOCK_TYPE_OTHER. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25109 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -139,7 +139,7 @@ thread_is_blocked(struct thread* thread)
|
|||||||
*/
|
*/
|
||||||
static inline void
|
static inline void
|
||||||
thread_prepare_to_block(struct thread* thread, uint32 flags, uint32 type,
|
thread_prepare_to_block(struct thread* thread, uint32 flags, uint32 type,
|
||||||
void* object)
|
const void* object)
|
||||||
{
|
{
|
||||||
thread->wait.flags = flags;
|
thread->wait.flags = flags;
|
||||||
thread->wait.type = type;
|
thread->wait.type = type;
|
||||||
|
|||||||
@@ -62,6 +62,8 @@ enum {
|
|||||||
THREAD_BLOCK_TYPE_CONDITION_VARIABLE = 1,
|
THREAD_BLOCK_TYPE_CONDITION_VARIABLE = 1,
|
||||||
THREAD_BLOCK_TYPE_SNOOZE = 2,
|
THREAD_BLOCK_TYPE_SNOOZE = 2,
|
||||||
THREAD_BLOCK_TYPE_SIGNAL = 3,
|
THREAD_BLOCK_TYPE_SIGNAL = 3,
|
||||||
|
|
||||||
|
THREAD_BLOCK_TYPE_OTHER = 9999,
|
||||||
THREAD_BLOCK_TYPE_USER_BASE = 10000
|
THREAD_BLOCK_TYPE_USER_BASE = 10000
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -246,7 +248,7 @@ struct thread {
|
|||||||
status_t status; // current wait status
|
status_t status; // current wait status
|
||||||
uint32 flags; // interrupable flags
|
uint32 flags; // interrupable flags
|
||||||
uint32 type; // type of the object waited on
|
uint32 type; // type of the object waited on
|
||||||
void* object; // pointer to the object waited on
|
const void* object; // pointer to the object waited on
|
||||||
timer unblock_timer; // timer for block with timeout
|
timer unblock_timer; // timer for block with timeout
|
||||||
} wait;
|
} wait;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user