This file is indexed.

/usr/share/Yap/timeout.yap is in yap 6.2.2-6build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/*************************************************************************
*									 *
*	 YAP Prolog 							 *
*									 *
*	Yap Prolog was developed at NCCUP - Universidade do Porto	 *
*									 *
* Copyright L.Damas, V.S.Costa and Universidade do Porto 1985-1997	 *
*									 *
**************************************************************************
*									 *
* File:		timeout.yap						 *
* Last rev:	5/12/99							 *
* mods:									 *
* comments:	Goal within timeout					 *
*									 *
*************************************************************************/

:- module(timeout, [
	time_out/3
    ]).

:- meta_predicate time_out(0,+,-).

:- use_module(library(hacks), [
	virtual_alarm/3
    ]).


%
% not the nicest program I've ever seen.
%

time_out(Goal, Time, Result) :-
	T is Time//1000,
	UT is (Time mod 1000)*1000,
	catch( ( Result0 = success,
	         setup_call_cleanup(
			virtual_alarm(T.UT,throw(time_out),_),
			Goal,
			virtual_alarm(0,_,RT)),
		 (  var(RT)
		 -> virtual_alarm(0,_,_),
		    (
		      true
		    ;
		      virtual_alarm(T.UT,throw(time_out),_),
		      fail
		    )
		 ;  true
		 )
	       ),
	       time_out,
	       Result0 = time_out ),
	Result = Result0.