in reply to Re: Re: •Re: open file descriptors
in thread open file descriptors

Yeah, you're right... it's not a system call issue (with the flush on fork), but an issue with the fact that perl doesn't have a fflush() builtin which emulates the fflush() in unix... that is: having the ability to flush all fd's (not just individual named fd's).

Anyway, because I remembered that issue wrong, I made the incorrect leap that there must be an unimplemented-in-perl system call to get all open fd's.

Anyway, my bad. Thanks. Still, it seems like there ought to be a faster way to find all open fd's than iterating through all *possible* fileno's looking for ones that are open fd's. Oh, well.


------------
:Wq
Not an editor command: Wq

Replies are listed 'Best First'.
Re: Re: Re: Re: •Re: open file descriptors
by exussum0 (Vicar) on Dec 13, 2003 at 23:01 UTC
    Well, in linux, you can do something like find

    /proc/123/fd/ -type f | wc -l

    FreeBSD doesn't have fd and osx doesn't even have /proc :(


    Play that funky music white boy..
      Yeah I'm familiar with linux's proc filesystem (I love it, in fact), but this question is about writing a portable application. Also, I reallize that system calls are not necessarily portable from one O/S to another... that's why psuedo system calls as perl builtins are so nice. Like: I don't have to know what each O/S's system call is for deleting a file, but I know that in perl, unlink does the trick.

      ------------
      :Wq
      Not an editor command: Wq