Re: Bringing back gc-live-object-stats

2019-05-15 Thread Mark H Weaver
Amirouche Boubekki writes: > I am stuck with a memory leak. I think gc-live-object-stats [0] would help. > > [0] > https://www.gnu.org/software/guile/manual/html_node/Garbage-Collection-Functions.html#index-gc_002dlive_002dobject_002dstats > > Can some explain to me how to bring it back? I don'

Re: [PATCH] Add current-suspendable-io-status parameter

2019-05-15 Thread Mark H Weaver
Hi Nala, Nala Ginrut writes: > I think your approach works for the cases which use put-bytevector* directly. > Are you assuming the server-core only handles suspendable-port with > put-bytevector in http-read or http-write? > If so, then your approach is not enough. If you're not using 'put-byt

Re: [PATCH] Add current-suspendable-io-status parameter

2019-05-15 Thread Nala Ginrut
Similar, but in Guile, you don't have to care about if it's blocking and schedule it by yourself, while you have to care about it explicitly in C. 于 2019年5月15日周三 20:10写道: > On Wed, May 15, 2019 at 07:25:37PM +0800, Nala Ginrut wrote: > > hi Tomas! > > For Guile, if you enabled suspendable-port,

Re: [PATCH] Add current-suspendable-io-status parameter

2019-05-15 Thread tomas
On Wed, May 15, 2019 at 07:25:37PM +0800, Nala Ginrut wrote: > hi Tomas! > For Guile, if you enabled suspendable-port, you may schedule the > blocking task captured by delimited continuation. > And use I/O multiplex mechanism (say, select or epoll) for monitoring > the file descriptor (or port). S

Re: [PATCH] Add current-suspendable-io-status parameter

2019-05-15 Thread tomas
On Wed, May 15, 2019 at 12:25:05PM +0100, Chris Vine wrote: > On Wed, 15 May 2019 12:09:19 +0200 > wrote: > > Sorry for this possibly dumb question [...] > With guile-2.2/3.0, you install suspendable ports and parameterize > current-read-waiter and/or current-write-waiter. There is an example >

Re: [PATCH] Add current-suspendable-io-status parameter

2019-05-15 Thread Nala Ginrut
hi Tomas! For Guile, if you enabled suspendable-port, you may schedule the blocking task captured by delimited continuation. And use I/O multiplex mechanism (say, select or epoll) for monitoring the file descriptor (or port). If there's no available byte at all, then you would never be mentioned by

Re: [PATCH] Add current-suspendable-io-status parameter

2019-05-15 Thread Chris Vine
On Wed, 15 May 2019 12:09:19 +0200 wrote: > On Mon, May 13, 2019 at 06:54:38PM +0800, Nala Ginrut wrote: > > Hi folks! > > Here's a patch to add current-suspendable-io-status: > > Its result is a pair: (finished-bytes . rest-bytes) > > Sorry for this possibly dumb question, but... is there a way

Re: [PATCH] Add current-suspendable-io-status parameter

2019-05-15 Thread tomas
On Mon, May 13, 2019 at 06:54:38PM +0800, Nala Ginrut wrote: > Hi folks! > Here's a patch to add current-suspendable-io-status: > Its result is a pair: (finished-bytes . rest-bytes) Sorry for this possibly dumb question, but... is there a way to be non-blocking even if there are no readable/writab

Re: [PATCH] Add current-suspendable-io-status parameter

2019-05-15 Thread Nala Ginrut
hi Mark! I think your approach works for the cases which use put-bytevector* directly. Are you assuming the server-core only handles suspendable-port with put-bytevector in http-read or http-write? If so, then your approach is not enough. When the users enabled suspendable-port, every I/O operation