On 03.10.2015 13:39, FreeMan wrote:
Hello,
svn fpc r31922 lazarus r49919 qtx64 osx 10.11(el capitan) xcode 7.0.1
Copyright (c) 1993-2015 by Florian Klaempfl and others
/opt/lazarus/ide/advancedipc.pp(227,49) Error: (3284) Operator is not
overloaded: "Int64" xor "TThreadID"
advancedipc.pp(688) Fatal: (10026) There were 1 errors compiling
module, stopping
Fatal: (1018) Compilation aborted
make[2]: *** [lazarus] Error 1
make[1]: *** [ide] Error 2
make: *** [ide] Error 2
Please test the attached patch.
Ondrej
Index: ide/advancedipc.pp
===================================================================
--- ide/advancedipc.pp (revision 49918)
+++ ide/advancedipc.pp (working copy)
@@ -224,7 +224,7 @@
repeat
//if Randomize/Random is started from 2 processes at exactly same moment,
it returns the same number! -> prevent duplicates by xor GetCurrentThreadId
//the result must be of range 0..$7FFFFFFF (High(Integer))
- Result := Integer((Int64(Random($7FFFFFFF)) xor GetCurrentThreadId) and
$7FFFFFFF);
+ Result := Integer((PtrInt(Random($7FFFFFFF)) xor
PtrInt(GetCurrentThreadId)) and $7FFFFFFF);
outFileName := GetRequestFileName(Result);
until not RequestExists(outFileName);
end;
Index: ide/ideinstances.pas
===================================================================
--- ide/ideinstances.pas (revision 49918)
+++ ide/ideinstances.pas (working copy)
@@ -501,7 +501,7 @@
{$IFNDEF MSWINDOWS}
//this code is not slowing up IDE start because if there was highest
client found (the normal way), we close anyway
Randomize; //random sleep in order to prevent double file locks on
unix
- Sleep(Random( PtrInt(($3F+GetCurrentThreadId) and $3F) ));
+ Sleep((PtrInt(Random($3F)) + PtrInt(GetCurrentThreadId)) and $3F);
{$ENDIF}
if not (xServer.StartServer(False) and (xServer.GetPendingRequestCount
> 0)) then
Exit;//server is already running or there are no pending message ->
close
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus