Opened 11 years ago

Closed 10 years ago

#763 closed defect (fixed)

posix unit implicitly depends on tcp unit

Reported by: Moritz Heidkamp Owned by:
Priority: major Milestone:
Component: core libraries Version: 4.7.x
Keywords: Cc:
Estimated difficulty:

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?

Change History (3)

comment:1 Changed 10 years ago by sjamaan

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.

comment:2 Changed 10 years ago by felix winkelmann

Milestone: 4.8.0

comment:3 Changed 10 years ago by sjamaan

Resolution: fixed
Status: newclosed

This has been fixed by bc09c55

Note: See TracTickets for help on using tickets.