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
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 |