------- Additional Comments From charlet at adacore dot com 2005-03-19 13:54 ------- Subject: Re: Windows errorcodes wrong in Ada when tasking
> IMO, resetting the error code set by the kernel whenever the internal Ada > tasking functions are called successfully is a bug. So you are saying that there is a bug in the Windows kernel ? Since the Ada run time does not do any reset of the error code. > It can be easily fixed: I don't see how this fixes things, since TlsGetValue is also called in the Self function. Is_Valid_Task is not called in the test case at hand, and Set is called during task elaboration, so that's also not problematic. Did you get a "successful"run of the application with this patch ? If so, it probably means that the problem is elsewhere and that this patch is just hiding it. The function which is called when you use tasking constructs is Self, and this function is time critical, so it is simply out of the question to call GetLastError/SetLastError there. If you want to know the error code associated with your socket call, you should save the result right away, and not delay this operation. Arno -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19526