Subversion Repositories HelenOS-historic

Rev

Rev 557 | Rev 624 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 557 Rev 623
Line 52... Line 52...
52
#include <arch/atomic.h>
52
#include <arch/atomic.h>
53
#include <memstr.h>
53
#include <memstr.h>
54
 
54
 
55
char *thread_states[] = {"Invalid", "Running", "Sleeping", "Ready", "Entering", "Exiting"}; /**< Thread states */
55
char *thread_states[] = {"Invalid", "Running", "Sleeping", "Ready", "Entering", "Exiting"}; /**< Thread states */
56
 
56
 
57
spinlock_t threads_lock;    /**< Lock protecting threads_head list. For locking rules, see declaration thereof. */
57
SPINLOCK_INITIALIZE(threads_lock);  /**< Lock protecting threads_head list. For locking rules, see declaration thereof. */
58
link_t threads_head;        /**< List of all threads. */
58
link_t threads_head;            /**< List of all threads. */
59
 
59
 
60
static spinlock_t tidlock;
60
SPINLOCK_INITIALIZE(tidlock);
61
__u32 last_tid = 0;
61
__u32 last_tid = 0;
62
 
62
 
63
 
63
 
64
/** Thread wrapper
64
/** Thread wrapper
65
 *
65
 *
Line 94... Line 94...
94
 */
94
 */
95
void thread_init(void)
95
void thread_init(void)
96
{
96
{
97
    THREAD = NULL;
97
    THREAD = NULL;
98
    nrdy = 0;
98
    nrdy = 0;
99
    spinlock_initialize(&threads_lock, "threads_lock");
-
 
100
    list_initialize(&threads_head);
99
    list_initialize(&threads_head);
101
}
100
}
102
 
101
 
103
 
102
 
104
/** Make thread ready
103
/** Make thread ready