From: | Magnus Hagander <magnus(at)hagander(dot)net> |
---|---|
To: | Trevor Talbot <quension(at)gmail(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Dave Page <dpage(at)postgresql(dot)org> |
Subject: | Re: 8.2.3: Server crashes on Windows using Eclipse/Junit |
Date: | 2007-10-26 12:07:02 |
Message-ID: | 20071026120702.GE1398@svr2.hagander.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-hackers |
On Mon, Oct 22, 2007 at 01:19:24PM -0700, Trevor Talbot wrote:
> On 10/22/07, Magnus Hagander <magnus(at)hagander(dot)net> wrote:
> > Trevor Talbot wrote:
>
> > > I'd probably take the approach of combining win32_waitpid() and
> > > threads. You'd end up with 1 thread per 64 backends; when something
> > > interesting happens the thread could push the info onto a queue, which
> > > the new win32_waitpid() would check. Use APCs to add new backends to
> > > threads with free slots.
> >
> > I was planning to make it even easier and let Windows do the job for us,
> > just using RegisterWaitForSingleObject(). Does the same - one thread per
> > 64 backends, but we don't have to deal with the queueing ourselves.
>
> Oh, good call -- I keep forgetting the native thread pool exists.
Taking this one to -hackers once and for all now...
Can you try the attached patch? See how many backends you can get up to.
This patch changes from using a single thread for each backend started to
using the builtin threadpool functionality. It also replaces the pid/handle
arrays with an i/o completion port. The net result is also, imho, much more
readable code :-)
Beware - there's still plenty of debugging code in there :-)
//Magnus
Attachment | Content-Type | Size |
---|---|---|
win32_child.patch | text/plain | 12.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2007-10-26 12:21:42 | Re: TRUNCATE - timing of the return of disk space - caused by long-lived client? |
Previous Message | Alvaro Herrera | 2007-10-26 12:05:26 | Re: TRUNCATE - timing of the return of disk space - caused by long-lived client? |
From | Date | Subject | |
---|---|---|---|
Next Message | Trevor Talbot | 2007-10-26 12:25:39 | Re: 8.2.3: Server crashes on Windows using Eclipse/Junit |
Previous Message | Heikki Linnakangas | 2007-10-26 11:27:50 | Re: [PATCHES] Including Snapshot Info with Indexes |