Thread: win32 signals, part 4

win32 signals, part 4

From
"Magnus Hagander"
Date:
Ok, here we go again.

Taking into account Claudios comments on the previous patch, as well as
some more fooling around here of my own, here's a fourth (and final?)
one.

If there are no further comments from Claudio or anyone else, I feel
this is now ready to be applied.

Differences from last version:
1) Per Claudios suggestion, create a "babysitter thread" for each
process that waits on the process and signals ourselves. This reduces
the amount of code (=good) and most importantly removes all the
synchronisation issues (=even better). The only thing left to sync is
the signal delivery, and that has alreay been taken care of in previous
patches.

2) Make pg_queue_signal() no longer be static. This way we don't have to
go through named pipes when signalling ourselves.

3) Remove the redefinition of select() again. This also means that the
select.c file previously incouded should *NOT* be included any more. See
separate mail to hackers-win32 on this issue.

4) Fix Claudios wrong-assignment error in win32_removeChild. Also
improve an error message in win32_waitpid.

Again, the preivously attached select.c file should *NOT* be included.

//Magnus

Re: win32 signals, part 4

From
Jan Wieck
Date:
Magnus Hagander wrote:
> Ok, here we go again.
>
> Taking into account Claudios comments on the previous patch, as well as
> some more fooling around here of my own, here's a fourth (and final?)
> one.
>
> If there are no further comments from Claudio or anyone else, I feel
> this is now ready to be applied.
>
> Differences from last version:
> 1) Per Claudios suggestion, create a "babysitter thread" for each
> process that waits on the process and signals ourselves. This reduces
> the amount of code (=good) and most importantly removes all the
> synchronisation issues (=even better). The only thing left to sync is
> the signal delivery, and that has alreay been taken care of in previous
> patches.

IIRC a separate "babysitter thread" just to handle message passing is
exactly what Katie Ward did for UltraSQL ... the Win32 port done at
NuSphere. Glad to see she was right about that.


Jan

--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #


Re: win32 signals, part 4

From
Claudio Natoli
Date:
> IIRC a separate "babysitter thread" just to handle message passing is
> exactly what Katie Ward did for UltraSQL ... the Win32 port done at
> NuSphere. Glad to see she was right about that.

Or Katie and I are both "wrong" :-P

Cheers,
Claudio

---
Certain disclaimers and policies apply to all email sent from Memetrics.
For the full text of these disclaimers and policies see
<a
href="http://www.memetrics.com/emailpolicy.html">http://www.memetrics.com/em
ailpolicy.html</a>

Re: win32 signals, part 4

From
Neil Conway
Date:
"Magnus Hagander" <mha@sollentuna.net> writes:
> Taking into account Claudios comments on the previous patch, as well as
> some more fooling around here of my own, here's a fourth (and final?)
> one.

I'll apply this tonight barring any objections.

-Neil


Re: win32 signals, part 4

From
"Magnus Hagander"
Date:
>> Taking into account Claudios comments on the previous patch,
>as well as
>> some more fooling around here of my own, here's a fourth (and final?)
>> one.

Actually, please hold just a second :-)

I have an updated version of this patch that fixes the remaining small
issue (FATAL on failure to set the control handler). Will post later
tonight or early tomorrow.  Only veyr small changes, so if there are no
objections to this one, there shouldn't be to that one either.

Thanks,
 Magnus