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.