Subversion Repositories HelenOS-historic

Rev

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

Rev 205 Rev 225
Line 60... Line 60...
60
__u32 random(__u32 max)
60
__u32 random(__u32 max)
61
{
61
{
62
    __u32 rc;
62
    __u32 rc;
63
    pri_t pri;
63
    pri_t pri;
64
 
64
 
65
    pri = cpu_priority_high();
-
 
66
    spinlock_lock(&lock);  
65
    spinlock_lock(&lock);  
67
    rc = seed % max;
66
    rc = seed % max;
68
    seed = (((seed<<2) ^ (seed>>2)) * 487) + rc;
67
    seed = (((seed<<2) ^ (seed>>2)) * 487) + rc;
69
    spinlock_unlock(&lock);
68
    spinlock_unlock(&lock);
70
    cpu_priority_restore(pri);
-
 
71
    return rc;
69
    return rc;
72
}
70
}
73
 
71
 
74
 
72
 
75
void writer(void *arg)
73
void writer(void *arg)