Re: parallel restore vs. windows
Andrew Chernow <ac@esilo.com>
From: Andrew Chernow <ac@esilo.com>
To: Andrew Dunstan <andrew@dunslane.net>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2008-12-09T02:19:45Z
Lists: pgsql-hackers
Andrew Dunstan wrote: > > OK, after quite some trying I have hit a brick wall. I have been unable > to get parallel restore to work with Windows threading. No doubt I am > missing something, but I really don't know what. Unless someone can tell > me what I am doing wrong, I have these possibilities: > > * run parallel steps on Windows in separate processes rather than > threads, similar to what we do in the server, or > * disable parallel restore on Windows for now. > > > Time is unfortunately running very short. > > Latest attempt is attached. > > We use _beginthread. I don't remember exactely how it broke, but it did. Try using the below instead of CreateThread. // NOTE: if you don't need the returned handle, close it or // leaks will occur. Closing it doesn't kill the thread. HANDLE h = (HANDLE)_beginthreadex(NULL, 0, thread_start, arg, 0, NULL); if(h) CloseHandle(h); From MSDN: "A thread in an executable that calls the C run-time library (CRT) should use the _beginthread and _endthread functions for thread management rather than CreateThread and ExitThread;" -- Andrew Chernow eSilo, LLC every bit counts http://www.esilo.com/