Merged revision(s) 48409 #9cefd73299, 48437 #ed83f63c99 from trunk:

Debugger GDBMI: Fix checking for handle to gdb (unix)
........
Debugger GDBMI: Fix checking for handle to gdb (unix)
........

git-svn-id: branches/fixes_1_4@48448 -
This commit is contained in:
martin 2015-03-21 13:03:07 +00:00
parent 1e2165c02b
commit 4e6ab4552f

View File

@ -137,9 +137,10 @@ begin
// set bits for all waiting handles
for n := 0 to Count do
begin
if Max < AHandles[n] then Max := AHandles[n];
if AHandles[n] <> 0 then
FpFD_Set(AHandles[n], FDS);
if AHandles[n] < 0 then
continue;
if Max < AHandles[n] + 1 then Max := AHandles[n] + 1;
FpFD_Set(AHandles[n], FDS);
end;
if Max=0 then begin
// no valid handle, so no change possible
@ -158,7 +159,7 @@ begin
// Select:
// R = -1 on error, 0 on timeout, >0 on success and is number of handles
// FDSWait is changed, and indicates what descriptors have changed
R := FpSelect(Max + 1, @FDSWait, nil, nil, TimeOut);
R := FpSelect(Max, @FDSWait, nil, nil, TimeOut);
if CurCallStamp <> FReadLineCallStamp then
exit;
@ -197,7 +198,7 @@ begin
if R > 0
then begin
for n := 0 to Count do
if (AHandles[n] <> 0)
if (AHandles[n] >= 0)
and (FpFD_ISSET(AHandles[n],FDSWait)=1)
then begin
Result := Result or 1 shl n;