[Lazarus] App locks at startup

SteveG steveg at nevets.com.au
Sun Feb 28 04:18:00 CET 2010


On 28/02/10 13:08, Andrew Brunner wrote:
> I would never Process Application Messages from a timer thread.
>
> I suspect a threadlock going on.  Does it work OK without the
> application.processmessages?
>
> On Sat, Feb 27, 2010 at 9:02 PM, SteveG<steveg at nevets.com.au>  wrote:
>> I have just updated Laz (svn) and Fpc(2.4.0) and have hit a problem with my
>> program. (worked ok with Laz 0.98 / fpc 2.?.?)
>>
>> I use a dyn loaded lib with my app, which seems to be relevant.
>>
>> If I call Application.ProcessMessages from within a TTimer.OnTimer event, my
>> app now locks solid showing 'futex_wait_queue_me' in the process listing.
>>
>> I havent yet been able to narrow down an exact cause, as a simple app/lib
>> test works ok.
>>
>> Would anybody know what would cause the above state (futex), as a clue to
>> the change in Laz/Fpc affecting my app ?

It does seem to work without the App.proc call. The problem I have seems 
to be caused by calling App.proc once my lib is loaded. This was the 
closest I have been able to get in narrowing down to a small test case. 
I call App.procMsgs from within my lib which is where the actual problem 
seems to be.

Is there any other way to create a 'pause' from within a 
library/function call (not sleep, as it 'stops' the program).
My 'pause' function is works as :>
StTm := NOW;
while NOW < (StTm + TmOut) do begin
   Sleep(1);
   Application.ProcessMessages;
end;

This worked ok before the Laz/fpc update, but seems to be broken now ?
This is just my 'guess' so far as where my problem lies ?




More information about the Lazarus mailing list