Miller Puckette writes:
I'm mystified about Guenter's report of socket() returing 1. I don't know how stdout is getting closed but I think it really shouldn't be. I'll test this tonight...
I'm getting more and more confused by this too. I have to investigate further, and it seems that the socket problem may be related to the fact, that it is impossible to use gem with abstractions under linux. (X uses sockets for communication to the gem window too).
I seems that that socket() somehow doesn't care if any files with the same descriptor are already open. This might work as long as we use recv() and send() on sockets, but what if we use select() and close() ? Should they work with the file (e.g. stdout) or with the socket with descriptor 1. The hack with just dup() ing the sockets fd doesn't work either, as it seem that if I open new files (e.g with sfread), I get descriptors back which are already sockets sometimes.
Considering the huge amount of network software for linux, I just can't believe that this is a linux bug, on the other hand it's not a problem on any other platform but linux.
????????
Guenter