Subversion Repositories HelenOS

Rev

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

Rev 4267 Rev 4448
Line 52... Line 52...
52
#include <print.h>
52
#include <print.h>
53
#include <errno.h>
53
#include <errno.h>
54
#include <func.h>
54
#include <func.h>
55
#include <string.h>
55
#include <string.h>
56
#include <syscall/copy.h>
56
#include <syscall/copy.h>
-
 
57
#include <macros.h>
-
 
58
#include <ipc/event.h>
57
 
59
 
58
/** Spinlock protecting the tasks_tree AVL tree. */
60
/** Spinlock protecting the tasks_tree AVL tree. */
59
SPINLOCK_INITIALIZE(tasks_lock);
61
SPINLOCK_INITIALIZE(tasks_lock);
60
 
62
 
61
/** AVL tree of active tasks.
63
/** AVL tree of active tasks.
Line 227... Line 229...
227
     * Drop our reference to the address space.
229
     * Drop our reference to the address space.
228
     */
230
     */
229
    if (atomic_predec(&t->as->refcount) == 0)
231
    if (atomic_predec(&t->as->refcount) == 0)
230
        as_destroy(t->as);
232
        as_destroy(t->as);
231
   
233
   
-
 
234
    /*
-
 
235
     * Notify about task destruction.
-
 
236
     */
-
 
237
    if (event_is_subscribed(EVENT_WAIT))
-
 
238
        event_notify_2(EVENT_WAIT, LOWER32(t->taskid), UPPER32(t->taskid));
-
 
239
   
232
    free(t);
240
    free(t);
233
    TASK = NULL;
241
    TASK = NULL;
234
}
242
}
235
 
243
 
236
/** Syscall for reading task ID from userspace.
244
/** Syscall for reading task ID from userspace.