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/

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to