[rt.cpan.org #64575] Start callback not called with Strawberry Perl 5.10 / 5.12

[email protected] ("Haiko Strotbek via RT")
Newsgroups perl.libwin32
Message-ID <[email protected]>
Sat Jan 08 01:50:42 2011: Request 64575 was acted upon.
Transaction: Correspondence added by [email protected]
       Queue: Win32-Daemon
     Subject: [rt.cpan.org #64575] Start callback not called with Strawberry Perl 5.10 / 5.12
   Broken in: (no value)
    Severity: (no value)
       Owner: Nobody
  Requestors: [email protected]
      Status: open
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=64575 >


> I don't understand how that could make a difference. I find only 2
> references to gMainThreadId in the sources:
> 
> In the DllMain() function (in Daemon.xs line 952) the variable is initialized:
> 
> 			gMainThreadId = GetCurrentThreadId();
> 
> This code is executed when the DLL is loaded into the process, before
> any other code in the same DLL can run.  Since GetCurrentThreadId()
> cannot fail, and thread ids are never 0, I can't see how gMainThreadId
> can ever be 0 at a later point in time.
> 
> The only other reference to gMainThreadId is a PostThreadMessage()
> call, which is not supposed to change the value of the thread id.
> 
> So how can gMainThreadId still be 0 inside the StartService() function?

According to my debug messages the DllMain() function isn't called, so
the gMainThreadId remains 0.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.