|
> gives problems me an error with the FASYNC on line 293.k (Well, it was
> also complainning about getopt_long which isn't POSIX compilant,
> but i fixed that in my source).
You do have FASYNC on Solaris, it's in <sys/file.h>. But this won't
help much, as it is only there for socket IO. The same problem is with
F_SETOWN, it is only defined for sockets, therefore you get the EINVAL.
> I've been searching for a long while now different documenation about
> io in Sun, and there just doesn't seem to be a similar flag/command
> as doing fcntl(rcxFD(), F_SETFL, FASYNC). It *seems* like using
> SREAMS programming is automatically supposed to be asynchronous.
No, we won't get SIGIO from the tty easily under Solaris, I fear.
I'd propose a different solution:
Replace the usleep(total - elapsed) in assured_write() with:
{
struct timeval tv;
fd_set rfds;
tv.tv_sec = 0;
tv.tv_usec = total - elapsed;
FD_ZERO(&rfds);
FD_SET(rcxFD(), &rfds);
n = select(rcxFD() + 1, &rfds, NULL, NULL, &tv);
if (n > 0) {
read the ack();
} else {
/* timeout */
}
or some similar scheme. This is the smallest common denominator in all
Unixes, so this should work anyplace. For Windows the #ifdefs could be
kept with the same functionality.
Eddie C. Dost
ecd@skynet.be
|
|
Message has 1 Reply:
Message is in Reply To:
| | solaris + legOS
|
| Hello, I'm trying to get legOS to work on solaris. I'm having troubles. I've got the cross compiler installed. I'm having the same problem everyone else who's tried it on Solaris: legOS/util/dll-src/loader.c gives problems me an error with the (...) (24 years ago, 27-Jul-00, to lugnet.robotics.rcx.legos)
|
3 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
This Message and its Replies on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|