This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Ada] fix handling of __gnat_waitpid under mingw


Manually test under i686-mingw
Tested under i686-linux, committed on mainline.

__gnat_waitpid is used after calling __gnat_kill() implemented using
the Win32 TerminateProcess() call. In some cases the call to cwait() was
locking. Using the Win32 API seems to be safer even if nothing in the
Microsoft documentation could explain why. There is no way to reproduce
this problem easily outside of a complex application: GPS
http://libre.adacore.com/gps

Also move the routine in expect.c where it logically belongs.

2005-03-17  Pascal Obry  <obry@adacore.com>

	* adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
	used.

	* expect.c (__gnat_waitpid): Moved here from adaint.c.
	Reimplement under Win32 using Win32 API.

	(__gnat_kill) [Win32]: Properly close the process handle before leaving
	this routine.

Attachment: difs.1
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]