[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: luasocket and selecting from files.
- From: Sean Conner <sean@...>
- Date: Tue, 30 Jun 2015 22:29:08 -0400
It was thus said that the Great Jorge once stated:
> Hi everyone,
> I'm trying to use luasocket's select() to read from files, under Linux.
From files, like '/usr/local/include/lua.h' or from any type of device
that uses a file handle? I only ask this because using select() on an
actual file (like '/usr/local/include/lua.h') will *always* be readable and
writable---i.e. there's just no use in using select() for files  as Linux
does some aggressive memory caching.
select()  works much better for sockets and character devices like
> As far as can see, it is possible now trough judicious use of setfd()
> (and dirty()?). But I do not see where i can get that fd from (io.* uses
> a opaque thing for files).
To get the underlying file descriptor from a FILE *, you need to use the C
> Is there any working code out there doing this?
For files? I don't know, but it would be similar with files (as sockets
are file handles).
 I think this is even true for network file sytems like NFS but I
don't have a way to experiment with this right now.
 If you are using Linux, epoll() is a much better API for this type