X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=mac%2Fmacnoise.c;h=3a7e8d0a1d3b20886e04c88dd3cbb52d7920cc40;hb=340afa273366858ad2a243b200a77b8fb3a1429a;hp=8fe70ad02ec24a9c70bbfa5dd4b72229ad02a3c2;hpb=f4384cb6c75f8ccf011f1932db87189e73ddf17b;p=PuTTY.git diff --git a/mac/macnoise.c b/mac/macnoise.c index 8fe70ad0..3a7e8d0a 100644 --- a/mac/macnoise.c +++ b/mac/macnoise.c @@ -3,6 +3,7 @@ * generator. */ +#include #include #include @@ -16,9 +17,27 @@ * free space and a process snapshot. */ +static void noise_get_processes(void (*func) (void *, int)) +{ + ProcessSerialNumber psn = {0, kNoProcess}; + ProcessInfoRec info; + + for (;;) { + GetNextProcess(&psn); + if (psn.highLongOfPSN == 0 && psn.lowLongOfPSN == kNoProcess) return; + info.processInfoLength = sizeof(info); + info.processName = NULL; + info.processAppSpec = NULL; + GetProcessInformation(&psn, &info); + func(&info, sizeof(info)); + } +} + void noise_get_heavy(void (*func) (void *, int)) { + noise_get_light(func); + noise_get_processes(func); read_random_seed(func); /* Update the seed immediately, in case another instance uses it. */ random_save_seed();