Open Model Railroad Network (OpenMRN)
Loading...
Searching...
No Matches
DeviceBuffer.cxx
1
35#include "DeviceBuffer.hxx"
36
37#include "openmrn_features.h"
38
39#ifdef OPENMRN_FEATURE_DEVTAB
40
41#include <sys/select.h>
42
56void DeviceBufferBase::block_until_condition(File *file, bool read)
57{
58 fd_set fds;
59 FD_ZERO(&fds);
60 int fd = Device::fd_lookup(file);
61 FD_SET(fd, &fds);
62
63 ::select(fd + 1, read ? &fds : NULL, read ? NULL : &fds, NULL, NULL);
64}
65
66#endif // OPENMRN_FEATURE_DEVTAB
int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)
POSIX select().
Definition Fileio.cxx:473
static int fd_lookup(File *file)
Looks up a file descriptor corresponding to a given File reference.
Definition Fileio.cxx:101
File information.
Definition Devtab.hxx:52