For the record, it doesn't work in 8.1 either.

On Wed, Jun 16, 2021 at 2:44 PM David Storrs <[email protected]> wrote:

>
>
> On Wed, Jun 16, 2021 at 2:25 PM George Neuner <[email protected]>
> wrote:
>
>>
>> On 6/16/2021 2:16 PM, David Storrs wrote:
>>
>> Damn.  Sorry, I posted out of sync versions of code and output.  This is
>> correct:
>>
>> (define bstr (make-shared-bytes 509 5))
>> (define rx-pipe-size 16777216)
>> (define-values (rx-in rx-out) (make-pipe rx-pipe-size))
>>
>> (define (room-in-rx-pipe? bstr)
>>   (define avail (- rx-pipe-size (pipe-content-length rx-out)))
>>   (displayln (format "avail: ~a" avail))
>>   (<= (bytes-length bstr) avail))
>>
>> (displayln (format "space available? ~a " (room-in-rx-pipe? bstr)))
>> (displayln (format "pipe content length: ~a" (pipe-content-length
>> rx-out)))
>> (define num-bytes-written (write-bytes-avail* bstr rx-out))
>> (unless (eq? num-bytes-written (bytes-length bstr))
>>   (displayln (format "rx buffer overflow. pipe content length: ~a,
>> written ~a, expected ~a"
>>                      (pipe-content-length rx-out) num-bytes-written
>> (bytes-length bstr))))
>>
>> (displayln "done")
>>
>> -------- output:
>>
>> avail: 16777216
>> space available? #t
>> pipe content length: 0
>> rx buffer overflow. pipe content length: 15, written 15, expected 509
>> done
>>
>>
>>
>> That's ok ... my analysis was wrong anyhow.   It looks like the problem
>> is that "flush" is not defined ... or simply doesn't work ... on Racket's
>> pipes.  *write-bytes-avail*  et al  depend on flush and so they won't
>> work.  *write-bytes*  works fine, but will block if you fill the pipe.
>>
>> This looks like something for the development team.
>>
>> George
>>
>
> Yup!  That was the problem.  It works fine in 7.6, not in 8.0.  Thanks,
> George.
>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Racket Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/racket-users/4836be0b-f785-9394-b18f-f5228970ba44%40comcast.net
>> <https://groups.google.com/d/msgid/racket-users/4836be0b-f785-9394-b18f-f5228970ba44%40comcast.net?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CAE8gKodbSU2xJip-87zwfEhercsbVmjyt2AHfhcsEF%3Dq3wK0KQ%40mail.gmail.com.

Reply via email to