File: pipe

package info (click to toggle)
epic5 3.0.3-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 5,328 kB
  • sloc: ansic: 75,810; makefile: 648; ruby: 227; python: 215; sh: 78; perl: 13
file content (26 lines) | stat: -rw-r--r-- 469 bytes parent folder | download | duplicates (5)
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
if (word(2 $loadinfo()) != [pf]) { load -pf $word(1 $loadinfo()); return; };

#
# Ok.  Here's the plan.
#
# $pipe(commands) will return the output from 'commands'.
#

alias pipe {
	@ pipe.intval++;
	^local mypipeval $pipe.intval;
	^local mypipedesc pipe$mypipeval;
	^local mypiperetval;

	^on ^exec "$mypipedesc *" {
		bless;
		push mypiperetval $1-;
	};

	^exec -name $mypipedesc $*;
	^wait %$mypipedesc;
	^on exec -"$mypipedesc *";
	return $mypiperetval;
};

#hop'97