Summary

posix unit implicitly depends on tcp unit

Metadata

Description

The procedure port->fileno defined in the posix unit calls ##sys#tcp-port->fileno from the tcp unit if (eq? 'socket (##sys#slot port 7)). Now, the unix-sockets extension also sets this slot to socket on its ports (cf. the io-ports procedure) which leads to an error when a user didn't load the tcp unit and calls port->fileno on such a port. I'm not sure about the cleanest fix for this. Any takers?

Changes and comments

[2012-02-21 20:13:35 UTC] sjamaan wrote:

I dunno, but this seems awfully hacky of unix-sockets. (just as hacky as spiffy using the immediate slots of the ssl egg. Guilty as charged! :P)

Unit posix rightfully assumes you shouldn't ever get an object of this type unless you went through some constructor or other procedure from the tcp unit. If posix-sockets creates faux tcp ports, it should fix this by loading the tcp unit, or use some other port type that causes less problems.

[2012-04-16 15:13:22 UTC] felix removed milestone 4.8.0

[2012-10-28 13:29:51 UTC] sjamaan changed status from new to closed

[2012-10-28 13:29:51 UTC] sjamaan set resolution to fixed

[2012-10-28 13:29:51 UTC] sjamaan wrote:

This has been fixed by bc09c55