blob: 7733783fd0245256f314790af965e3096a3e59af (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
REMOTE←{
fd←⎕PIPE ⍵
output←{
raw←0 ⎕SERIAL ⍵
len←(4⍴255)⊤≢raw
_←fd ⎕WRITE len,raw
}
in←{
m←1 ⎕serial fd ⎕read (4⍴255)⊥fd ⎕read 4
_←m⍈⍵
∇⍵
}
remote←{
⍬≡⍵: ⍺∇in&'remote in'⊢⎕self ⍝ Spawn 'in' thread
master←⍺
(from msg)←{1 ⍵}⍇⍬
_←{
from≡master: output msg
from≢master: msg⍈master
}⍬
⍺∇⍵
}
⎕self remote&'remote'⊢⍬
}
|