Summary
posix unit implicitly depends on tcp unit
Metadata
- Id: 781abe0778dbf8e1f0d38b28b6e58333fa570982
- Trac id: 763
- Type: defect
- Reporter: syn
- Owner:
- Cc:
- Status: closed
- Component: core libraries
- Estimated difficulty:
- Resolution: fixed
- Priority: major
- Milestone:
- Version: 4.7.x
- Changetime: 2012-10-28 13:29:51 UTC
- Created: 2011-12-23 17:13:46 UTC
- Keywords:
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