Call Errno2noutres if system call to close the handle fails in do_close for win and unix

git-svn-id: trunk@29095 -
This commit is contained in:
pierre 2014-11-20 22:00:35 +00:00
parent 260c6583cf
commit 90537e94a0
4 changed files with 14 additions and 7 deletions

View File

@ -2198,11 +2198,13 @@ SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
$(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS)
$(COMPILER) -Us -Sg $(SYSTEMUNIT).pp $(REDIR)
uuchar$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) $(INC)/uuchar.pp
$(COMPILER) $(INC)/uuchar.pp $(REDIR)
objpas$(PPUEXT) : objpas.pp
$(COMPILER) objpas.pp $(REDIR)
strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
$(PROCINC)/strings.inc $(PROCINC)/stringss.inc \
$(SYSTEMUNIT)$(PPUEXT)
$(COMPILER) $(INC)/strings.pp $(REDIR)
jdk15$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) jdk15.inc jdk15.pas
dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) \
$(SYSTEMUNIT)$(PPUEXT)

View File

@ -85,6 +85,7 @@ $(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS)
$(COMPILER) -Us -Sg $(SYSTEMUNIT).pp $(REDIR)
uuchar$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) $(INC)/uuchar.pp
$(COMPILER) $(INC)/uuchar.pp $(REDIR)
objpas$(PPUEXT) : objpas.pp
$(COMPILER) objpas.pp $(REDIR)
@ -92,6 +93,7 @@ objpas$(PPUEXT): objpas.pp
strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
$(PROCINC)/strings.inc $(PROCINC)/stringss.inc \
$(SYSTEMUNIT)$(PPUEXT)
$(COMPILER) $(INC)/strings.pp $(REDIR)
jdk15$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) jdk15.inc jdk15.pas

View File

@ -20,6 +20,8 @@ Begin
repeat
res:=Fpclose(cint(Handle));
until (res<>-1) or (geterrno<>ESysEINTR);
if res<>0 then
Errno2Inoutres;
End;
Procedure Do_Erase(p: pchar; pchangeable: boolean);

View File

@ -28,7 +28,8 @@ procedure do_close(h : thandle);
begin
if do_isdevice(h) then
exit;
CloseHandle(h);
if CloseHandle(h)=0 then
Errno2InOutRes(GetLastError);
end;