On DragonFly, GPS has been properly highlighting code errors during compilation, but on FreeBSD nothing happens. Luckily Rod Kay has been persistent in diagnosing the cause and he finally isolated it to a too-short timeout interval for Expect calls. The timeout period was set to 1 millisecond, the absolute shortest interval possible. While Linux and DF could complete the function call during this time, FreeBSD requires at least 10 milliseconds to do the same. I'm setting the timeout to 100 milliseconds to ensure this functionality works on FreeBSD. Rod and I can't immediately see any negative impact to extending the timeout and we're casually pinging Adacore to understand the orignal 1-ms value. PR: 202317
11 lines
490 B
Ada
11 lines
490 B
Ada
--- kernel/src/gps-kernel-timeout.adb.orig 2016-05-16 09:45:57 UTC
|
|
+++ kernel/src/gps-kernel-timeout.adb
|
|
@@ -388,7 +388,7 @@ package body GPS.Kernel.Timeout is
|
|
Fd := Data.D.Descriptor;
|
|
if Fd /= null then
|
|
loop
|
|
- Expect (Fd.all, Result, Data.Expect_Regexp.all, Timeout => 1);
|
|
+ Expect (Fd.all, Result, Data.Expect_Regexp.all, Timeout => 100);
|
|
|
|
if Result /= Expect_Timeout then
|
|
-- Received something. Cancel timeout
|