No problem.  I can see wanting the pipe to eork the opposite way.

Willard
Sent from Samsung tablet

-------- Original message --------
From Russell Davis <rkda...@burninghorse.com> 
Date: 01/09/2017  5:47 PM  (GMT-07:00) 
To Model 100 Discussion <m100@lists.bitchin100.com> 
Subject Re: [M100] THAT didn't work... ;-) 
 
ah ok. i'd been fiddling with pipes, sockets and fifos aloy recently and in 
workaround mode so misread your post


bst rgrds

Russell

On 1/9/2017 6:53 PM, Willard Goosey wrote:

Huh? No the behavior of the pipe itself is perfect! Date blocked on the pipe 
*before getting the time* so it could sit there for days and still report 
current time when the pipe is finally read. 

It's just that something on the mono/laddiealpha/tsdos train doesn't like the 
file it's reading changing size while its being read. Which was not an issue 
the pdd protocol ever imagined.

Willard
Sent from Samsung tablet



-------- Original message --------
From Russell Davis <rkda...@burninghorse.com> 
Date: 01/09/2017 2:25 PM (GMT-07:00) 
To Model 100 Discussion <m100@lists.bitchin100.com> 
Subject Re: [M100] THAT didn't work... ;-) 


if you want to be able to write to a named pipe before your reader is created 
you have to open the named pipe as read/write using an extra step e.g.

---
pi@glooston:~/GnuCOBOL/open-cobol-code/branches/gnu-cobol-2.0         $ mkfifo 
foo
pi@glooston:~/GnuCOBOL/open-cobol-code/branches/gnu-cobol-2.0         $ exec 
3<>./foo
pi@glooston:~/GnuCOBOL/open-cobol-code/branches/gnu-cobol-2.0         $ date > 
./foo &
[1] 2561
pi@glooston:~/GnuCOBOL/open-cobol-code/branches/gnu-cobol-2.0         $ date
Mon  9 Jan 21:21:53 UTC 2017
[1]+  Done                    date > ./foo
pi@glooston:~/GnuCOBOL/open-cobol-code/branches/gnu-cobol-2.0         $ cat 
./foo
Mon  9 Jan 21:21:49 UTC 2017
^C
pi@glooston:~/GnuCOBOL/open-cobol-code/branches/gnu-cobol-2.0         $ rm foo
pi@glooston:~/GnuCOBOL/open-cobol-code/branches/gnu-cobol-2.0         $ mkfifo 
foo
pi@glooston:~/GnuCOBOL/open-cobol-code/branches/gnu-cobol-2.0         $ date > 
./foo &
[1] 2567
pi@glooston:~/GnuCOBOL/open-cobol-code/branches/gnu-cobol-2.0         $ date
Mon  9 Jan 21:22:34 UTC 2017
pi@glooston:~/GnuCOBOL/open-cobol-code/branches/gnu-cobol-2.0         $ cat 
./foo
Mon  9 Jan 21:22:43 UTC 2017
[1]+  Done                    date > ./foo
pi@glooston:~/GnuCOBOL/open-cobol-code/branches/gnu-cobol-2.0         $

----
although that brings up another problem in that ^C needed to kill the reader 
unless you background the reader.

bst rgrds
Russell
On 1/9/2017 4:04 PM, Willard Goosey wrote:
So I tried a clever trick and it didn't work.

(This is NOT a bug report about any of the named programs, as it's a
weird edge case.)

So UNIX (and therefore Linux) has these things called "named
pipes". They're like files, except that they're strictly buffers --
you write something to one and it's only there until it's read.

galvatron:~$ mkfifo foo
galvatron:~$ date > foo &
[1] 395
galvatron:~$ date
Mon Jan  9 13:52:21 MST 2017
galvatron:~$ cat foo
Mon Jan  9 13:52:23 MST 2017
[1]+  Done                    date >foo
galvatron:~$ 

So, interestingly, note that the date written to the named pipe "foo"
wasn't written until it was read!

Just as an experiment, I created ~/root/DATE.DO as a named pipe and
redirected date(1) into it... Then tried to read it from tsdos via the
laddiealpha PDD server.

The result: M100 visits Cold Start City. 

Not really surprising, something probably got confused by the fact
that the named pipe is reported as a 0-length file.

Would be an easy way to sync the M100's time to a laddiealpha server,
but it's not to be. 

Willard


Reply via email to