rem: daemon = malloc(sizeof(daemon));
add: daemon = malloc(sizeof(struct daemon));
context: register_kernel_daemon(daemon_hook function, void *arg, int frequency){	struct daemon *daemon;	if (function == NULL || frequency < 1)		return B_BAD_VALUE;	daemon = malloc(sizeof(daemon));	if (daemon == NULL)		return B_NO_MEMORY;	daemon->function = function;	daemon->arg = arg;	daemon->frequency = frequency;	mutex_lock(&gDaemonMutex);		if (frequency > 1) {		// we try to balance the work-load for each daemon run		// (beware, it's a very simple algorithm, yet effective)		struct daemon *d = NULL;		int32 num = 0;		while ((d = list_get_next_item(&gDaemons, d)) != NULL) {			if (d->frequency == frequency)				num++;		}		daemon->offset = num % frequency;	} else		daemon->offset = 0;	list_add_item(&gDaemons, daemon);	mutex_unlock(&gDaemonMutex);	return B_OK;}