Ugh. I see now why all those patches were necessary. I'm starting to run into
weird behavior. Also, as I suspected, my READ_DATA_PENDING hack didn't work.
I'll keep interested parties posted on any future success ... first I'm going
to figure out which of your patches still need to be applied in 6.1 and which
don't.

from Roland Priem on 2001-08-03 at 10:47:53:
> Eli Green [mailto:eli.green / codedogs.ca] wrote:
> 
> > test succeeded. =)
> 
> Fine. It gave me a bad suprise with the signal handlers. But this seems to
> be fixed in the new libraries.
> 
> I forgot to ask: Did you also try something like the mutex example on page
> 118 of Programming Ruby (see
> http://www.pragmaticprogrammer.com/ruby/samples/smp118.html )?
> With QNX 6.0, without the #undef HAVE_SETITIMER the first thread will run to
> completion before the second thread starts.
> 
> > I did it with 6.1a ... I think the Dinkum C libraries have fixed
> > almost all
> > the problems you had. The only changes you made that I had to do were:
> >
> > - Adding the unix.h include to the top of io.c,
> > - Adding QNXNTO to the #ifdef for excluding socketpair
> 
> > In io.c, I added this to the READ_DATA_PENDING #ifdef block:
> >
> > #elif defined(__QNXNTO__)
> > #  define READ_DATA_PENDING(fp) !eof(fp->_Handle)
> >
> > but I'm not 100% sure that this is the right way to do it. The _Filet
> > structure isn't exactly well-documented.
> 
> Strange. I had no problems with that one.
> 
> > Oh, and I just rebuilt it with a libruby.so, and everything seems to be
> > working OK. I can now run irb and anything that has a "require
> > 'socket'" at
> > the top of it. I guess the answer is that either you build
> > everything shared
> > or everything static. I'll see what the QNX folks have to say about it.
> 
> I think that's right. I fell into that trap when porting readline. Does 6.1
> already include it?
> 
> > I have a binary .qpr of the port if anybody's interested.
> 
> You could upload it to qnxstart. I think the package should include the
> sources as well, because you seem to have to recompile everything after each
> new QNX release...
> 
> > Matz, I'm not sure wether you'll want to include all those
> > changes in there or
> > not ... they were required under QNX 6.0, but are apparently unnecessary
> > under 6.1 (brand new C libaries!) ...
> 
> I think we should target 6.1.
> 
> 
> 
>