Julia (well libuv) expects that you don't modify the file descriptors while
it is using them (esp. stdio, but also the file descriptor it uses to
represent the libuv event loop, and all of the others). In fact, the only
file descriptors you could safely close are 0,1,2. (the stdio file
descriptors used by libuv are hidden somewhere else in the file descriptor
tables to prevent exactly this sort of corruption)


On Tue, Aug 5, 2014 at 6:49 PM, Gerry Weaver <[email protected]> wrote:

> Hi,
>
> I think I have located the problem. When creating a daemon process, it is
> pretty common to close all file descriptors in the child process. This is
> usually done (at least on Linux) by spinning through the descriptors
> closing them based on the result of the getdtablesize() function. For some
> reason Julia crashes when all of the file descriptors are closed. When the
> closing of file descriptors is omitted, everything works as expected. Does
> anyone have any insight into this situation?
>
> Thanks,
> -G
>

Reply via email to