Subversion Repositories HelenOS

Rev

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

Rev 3026 Rev 3606
Line 205... Line 205...
205
} udebug_task_t;
205
} udebug_task_t;
206
 
206
 
207
/** Debugging part of thread_t structure.
207
/** Debugging part of thread_t structure.
208
 */
208
 */
209
typedef struct {
209
typedef struct {
210
    /**
-
 
211
     * Prevent deadlock with udebug_before_thread_runs() in interrupt
-
 
212
     * handler, without actually disabling interrupts.
-
 
213
     * ==0 means "unlocked", >0 means "locked"
-
 
214
     */
-
 
215
    atomic_t int_lock;
-
 
216
 
-
 
217
    /** Synchronize debug ops on this thread / access to this structure */
210
    /** Synchronize debug ops on this thread / access to this structure. */
218
    mutex_t lock;
211
    mutex_t lock;
219
 
212
 
220
    waitq_t go_wq;
213
    waitq_t go_wq;
221
    call_t *go_call;
214
    call_t *go_call;
222
    unative_t syscall_args[6];
215
    unative_t syscall_args[6];
223
    istate_t *uspace_state;
216
    istate_t *uspace_state;
224
 
217
 
225
    /** What type of event are we stopped in or 0 if none */
218
    /** What type of event are we stopped in or 0 if none. */
226
    udebug_event_t cur_event;  
219
    udebug_event_t cur_event;
227
    bool stop;
220
    bool go;       /**< thread is GO */
228
    bool stoppable;
221
    bool stoppable;    /**< thread is stoppable */
229
    bool debug_active; /**< In a debugging session */
222
    bool debug_active; /**< thread is in a debugging session */
230
} udebug_thread_t;
223
} udebug_thread_t;
231
 
224
 
232
struct task;
225
struct task;
233
struct thread;
226
struct thread;
234
 
227