Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 4447 → Rev 4448

/trunk/kernel/generic/include/macros.h
83,6 → 83,11
#define STRING(arg) STRING_ARG(arg)
#define STRING_ARG(arg) #arg
 
#define LOWER32(arg) ((arg) & 0xffffffff)
#define UPPER32(arg) (((arg) >> 32) & 0xffffffff)
 
#define MERGE_LOHI32(lo, hi) ((lo & 0xffffffff) | ((hi & 0xffffffff) < 32))
 
/** Pseudorandom generator
*
* A pretty standard linear congruential pseudorandom
/trunk/kernel/generic/include/ipc/event_types.h
38,6 → 38,7
typedef enum event_type {
EVENT_KLOG = 0,
EVENT_KCONSOLE,
EVENT_WAIT,
EVENT_END
} event_type_t;
 
/trunk/kernel/generic/src/proc/task.c
54,6 → 54,8
#include <func.h>
#include <string.h>
#include <syscall/copy.h>
#include <macros.h>
#include <ipc/event.h>
 
/** Spinlock protecting the tasks_tree AVL tree. */
SPINLOCK_INITIALIZE(tasks_lock);
229,6 → 231,12
if (atomic_predec(&t->as->refcount) == 0)
as_destroy(t->as);
/*
* Notify about task destruction.
*/
if (event_is_subscribed(EVENT_WAIT))
event_notify_2(EVENT_WAIT, LOWER32(t->taskid), UPPER32(t->taskid));
free(t);
TASK = NULL;
}