Re: [HACKERS] Query cancel and OOB data (fwd)

Bruce Momjian <maillist@candle.pha.pa.us>

From: Bruce Momjian <maillist@candle.pha.pa.us>
To: hal@enteract.com (Hal Snyder)
Cc: hackers@postgreSQL.org
Date: 1998-06-01T14:12:22Z
Lists: 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].

Not available on most/all platforms.

-- 
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)