Hi,
once I learned that ##open-predefined could be used to create a port from an already opened file descriptor (in addition to the standard streams). This did work for me as long as I used just one FD that way and used it until the programm terminated.
However now I need to actually close the port and want the FD being closed too. However in os_io.c around line 9932ff I found:
* ........... The responsibility for closing the stream is not * transferred to the runtime system because ...
I obviously need the other way around. How would I transfer the ownership of an FD to the runtime system?
(A second, related issue I'm looking into is that ##open-predefined will add an exit job for each writable FD. This too is not desirable in my case. However cut&paste of ##open-predefined and modification looks easy enough to get rid of the latter. What I wonder is how I would have (ab)use the C code side with preferrable non to minimal modifications.)
Best
Jörg
Afficher les réponses par date
Hi,
long story short: as the subject says: I'd appreciate if there could be a minor release to gambit.
Why: a) eventually I need a solution (see long story below) using lambdanative b) no way to build lambdanative from gambit-4.9.3 because of issue #384 c) #384 was closed between August 9th and December 12th 2019 d) the solution may either need changes to `lib/os_io.c` depend on internals of it and that file has changed considerably between 0.9.2 and current master. It would be a waste of time to work out an interim solution.
Hence I'd love to see a 4.9.4 no matter how close this is to a 5.0 supporting all the recent additions officially.
Thanks soo much
Jörg
Long story:
after diving deeper into gambit source I'm under the impression that there is no easy way to solve the question I asked the other day under the subject "How to use ports created from an open file descriptor". By now I believe to see how this could be done.
Eventually I'd like to do this in the context of a lambdanative-built application. But I understand and support the policy of lambdanative to require permanent URLs to download sources and pass a hash test.
Am Sun, 19 Jul 2020 19:08:22 +0200 schrieb "Jörg F. Wittenberger" Joerg.Wittenberger@softeyes.net:
Hi,
once I learned that ##open-predefined could be used to create a port from an already opened file descriptor (in addition to the standard streams). This did work for me as long as I used just one FD that way and used it until the programm terminated.
However now I need to actually close the port and want the FD being closed too. However in os_io.c around line 9932ff I found:
- ........... The responsibility for closing the stream is not
- transferred to the runtime system because ...
I obviously need the other way around. How would I transfer the ownership of an FD to the runtime system?
(A second, related issue I'm looking into is that ##open-predefined will add an exit job for each writable FD. This too is not desirable in my case. However cut&paste of ##open-predefined and modification looks easy enough to get rid of the latter. What I wonder is how I would have (ab)use the C code side with preferrable non to minimal modifications.)
Best
Jörg
Gambit-list mailing list Gambit-list@iro.umontreal.ca https://mailman.iro.umontreal.ca/cgi-bin/mailman/listinfo/gambit-list