Re: [HACKERS] Query cancel and OOB data (fwd) - Mailing list pgsql-hackers

From Hal Snyder
Subject Re: [HACKERS] Query cancel and OOB data (fwd)
Date
Msg-id 199806010533.BAA03855@hub.org
Whole thread Raw
In response to Re: [HACKERS] Query cancel and OOB data (fwd)  (Bruce Momjian <maillist@candle.pha.pa.us>)
Responses Re: [HACKERS] Query cancel and OOB data (fwd)  (Bruce Momjian <maillist@candle.pha.pa.us>)
Re: [HACKERS] Query cancel and OOB data (fwd)  (ocie@paracel.com)
List pgsql-hackers
> From: Bruce Momjian <maillist@candle.pha.pa.us>
> Date: Mon, 1 Jun 1998 00:53:21 -0400 (EDT)
...
> > Just do time and pid. But get the time from gettimeofday so it will be
> > down to the millisecond or so. Anything more is overkill for this application.
>
> You have given me exactly what I needed.  If I run gettimeofday() on
> postmaster startup, and run it when the first backend is started, I can
> use the microseconds from both calls to generate a truely random seed.
> Even if the clock is only accurate to 10 ms, I still get a 10,000 random
> keyspace.  I can mix the values by taking/swapping the low and high
> 16-bit parts so even with poor resolution, both get used.
>
> The micro-second times are not visible via ps, or probably even kept in
> the kernel, so these values will work fine.
>
> Once random is seeded, for each backend we call random twice and return
> a merge of the two random values.  I wonder if we just call random once,
> and XOR it with our randeom seed, if that would be just as good or
> better?  Cryptologists?
>
> Comments?  Sounds like a plan.  The thought of giving the users yet
> another option to disable cancel just made me squirm.

For FreeBSD and Linux, isn't /dev/urandom the method of choice for
getting random bits? [I've been away from this thread awhile - please
excuse if this option was already discussed].


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] Query cancel and OOB data (fwd)
Next
From: "Thomas G. Lockhart"
Date:
Subject: Re: [GENERAL] Re: [HACKERS] custom types and optimization