How to detach socket from FILE?

Correo Fernando-ruiz (E-mail) correo at
Thu Dec 6 17:29:20 UTC 2001

In my shell I have avoided the dup() call.
In order to get the same goal
I have done an UGLY stderr=stdout=stdin;

I can share the same socket while the shell task is running.

dup() spents the limited FILE table resources. 

No very correct but works.

This kind of tricks are the same thing that 
the COMMON BLOCK in fortran versus the structured procedural 
programming avoiding the global variable side effect.


home: correo at
work: fernando.ruiz at

I am not very happy with the bad notice of Joel's father.
Dommage, Schade, Lastima,... (I don't known the english word)

> -----Mensaje original-----
> De: Sergei Organov [mailto:osv at]
> Enviado el: jueves, 06 de diciembre de 2001 17:42
> Para: rtems-users at
> Asunto: How to detach socket from FILE?
> Suppose I've got socket descriptor and have attached it to a 
> FILE using
> 'fdopen()'. Now I want to 'fclose()' the FILE, but leave socket
> open. According to FreeBSD manual pages, 'fclose()' will 
> close the socket.
> I think I can do something like this:
> int s;
> FILE* file;
> ....
> s = dup(fileno(file));
> fclose(file);
> ... use s ...
> But would 'dup' work as expected in RTEMS? Is there 
> another/better way to
> achieve the same goal?
> Thanks in advance.
> Sergei.

More information about the users mailing list