Re: Win32 signal code - first try

From: "Merlin Moncure" <merlin(dot)moncure(at)rcsonline(dot)com>
To: "Magnus Hagander" <mha(at)sollentuna(dot)net>, "Claudio Natoli" <claudio(dot)natoli(at)memetrics(dot)com>
Cc: "pgsql-hackers-win32" <pgsql-hackers-win32(at)postgresql(dot)org>
Subject: Re: Win32 signal code - first try
Date: 2004-01-12 17:42:43
Message-ID: 303E00EBDD07B943924382E153890E5434AA4E@cuthbert.rcsinc.local
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers-win32

Magnus Hagander wrote:
> If we are uncertain about delivering signals on an APC (with longjmp
> considerations etc), we could even just do our QueueUserAPC() on a
<snip>

This started to get me really concerned, so I did a fair bit of googling
on the subject. AFIK, we are probably ok longjmp-ing out of a callback
issued by QueueUserAPC. There are three mitigating factors wrt longjmp
& QueueUserAPC:

1. The callback runs on the same thread as the backend/signal routine
2. the signal is called/raised at the 'end' of the callback
3. there is very little stack involved.

Here is a link which has some technical info about windows messaging and
process control (courtesy of HP):
http://www.cag.lcs.mit.edu/dynamorio/doc/DynamoRIO.htm

Merlin

Browse pgsql-hackers-win32 by date

  From Date Subject
Next Message Claudio Natoli 2004-01-12 22:37:31 Re: Win32 signal code - first try
Previous Message Merlin Moncure 2004-01-12 15:46:56 Re: Win32 signal code - first try