Subversion Repositories HelenOS

Rev

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

Rev 3606 Rev 3623
Line 101... Line 101...
101
    unative_t a4, unative_t a5, unative_t a6, unative_t id)
101
    unative_t a4, unative_t a5, unative_t a6, unative_t id)
102
{
102
{
103
    unative_t rc;
103
    unative_t rc;
104
 
104
 
105
#ifdef CONFIG_UDEBUG
105
#ifdef CONFIG_UDEBUG
106
    istate_t fake_state;
-
 
107
 
-
 
108
    THREAD->udebug.uspace_state = &fake_state;
106
    THREAD->udebug.uspace_state = NULL;
109
    udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, 0, false);
107
    udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, 0, false);
110
#endif
108
#endif
111
    if (id < SYSCALL_END) {
109
    if (id < SYSCALL_END) {
112
        rc = syscall_table[id](a1, a2, a3, a4, a5, a6);
110
        rc = syscall_table[id](a1, a2, a3, a4, a5, a6);
113
    } else {
111
    } else {
Line 119... Line 117...
119
    if (THREAD->interrupted)
117
    if (THREAD->interrupted)
120
        thread_exit();
118
        thread_exit();
121
 
119
 
122
#ifdef CONFIG_UDEBUG
120
#ifdef CONFIG_UDEBUG
123
    udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, rc, true);
121
    udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, rc, true);
124
    THREAD->udebug.uspace_state = NULL;
-
 
125
#endif
-
 
126
 
122
 
-
 
123
    /*
-
 
124
     * Stopping point needed for tasks that only invoke non-blocking
-
 
125
     * system calls.
-
 
126
     */
-
 
127
    udebug_stoppable_begin();
-
 
128
    udebug_stoppable_end();
-
 
129
#endif  
127
    return rc;
130
    return rc;
128
}
131
}
129
 
132
 
130
syshandler_t syscall_table[SYSCALL_END] = {
133
syshandler_t syscall_table[SYSCALL_END] = {
131
    (syshandler_t) sys_klog,
134
    (syshandler_t) sys_klog,