Go Back   ZeroC Forums > Patches

Reply
 
LinkBack Thread Tools Rate Thread Display Modes
  #1 (permalink)  
Old 12-27-2006
n2503v n2503v is offline
Registered User
 
Name: Alex Makarenko
Organization: ACFR, University of Sydney
Project: Orca
 
Join Date: Jun 2005
Posts: 79
QNX 6.3-SP3 for Ice-3.1.1

this patch works on QNX Neutrino 6.3.0 SP3.
using gcc-3.3.5 with Dinkum std lib implementation

everything builds. all tests pass except the following (which are disalbed in the patch). the problems are related to the database library which supposedly supports QNX but complains about 11 "unknown symbols" at runtime.

# "IceSSL/configuration", \
# "Freeze/dbmap", \
# "Freeze/evictor", \
# "FreezeScript/dbmap", \
# "FreezeScript/evictor", \
# "IceGrid/simple", \
# "IceGrid/deployer", \
# "IceGrid/session", \
# "IceGrid/update", \
# "IceGrid/activation", \
# "IceGrid/replication", \
# "IceGrid/allocation", \
# "Glacier2/ssl", \
# "Glacier2/filters", \
# "Glacier2/addressFilter", \

also, one section (RWRecMutexTest) of IceUtil/thread test fails and is disabled. it is not used by Ice internal code so I didn't try to fix it.

there's something non-standard about QNX patch utility, so i've patched the source in Linux and then moved it over to QNX.
$ tar -xzf Ice-3.1.1.tar.gz
$ cd Ice-3.1.1
$ patch -p1 < ../ice311qnx.patch.txt

For more installation details including building dependencies, see
http://orca-robotics.sf.net/cvs/orca...nstallqnx.html

cheers, alex
Attached Files
File Type: txt ice311qnx.patch.txt (30.6 KB, 114 views)
__________________
Alex Makarenko
Australian Centre for Field Robotics
The University of Sydney
www.cas.edu.au
project: orca-robotics.sf.net
Reply With Quote
  #2 (permalink)  
Old 01-21-2007
n2503v n2503v is offline
Registered User
 
Name: Alex Makarenko
Organization: ACFR, University of Sydney
Project: Orca
 
Join Date: Jun 2005
Posts: 79
advice on making IceGrid work in QNX

I'm testing the patch I've posted here before.

One problem I have is that the IceGrid Node's activator uses fork() which in QNX-6 is only supported for single-threaded processes. fork() returns an error and a syscall exception is caught in Activator.cpp:674. This is POSIX-compliant behavior but unfortunately not very useful.

I can try to use spawn() or vfork(). From the documentation vfork() seems dodgy and both would probably be non-trivial to debug. So I wonder if the IceGrid designers would have some advice.

Should spawn() be able to do the job in this context or the activator relies on some state being passed to the child process?

thanks,
alex
__________________
Alex Makarenko
Australian Centre for Field Robotics
The University of Sydney
www.cas.edu.au
project: orca-robotics.sf.net
Reply With Quote
  #3 (permalink)  
Old 01-22-2007
benoit's Avatar
benoit benoit is online now
ZeroC Staff
 
Name: Benoit Foucher
Organization: ZeroC, Inc.
Project: Ice
 
Join Date: Feb 2003
Location: Rennes, France
Posts: 1,494
Hi,

Assuming the spawn() system call you're mentioning is the one documented here, it looks like you should be able to use it with only one limitation: it doesn't support changing the user id or the group id of the forked process. You'll also have to make sure that all the file descriptors from the parent are NOT inhereted except for stdin/stdout/stderr and the write side of the pipe created before the call to fork.

Cheers,
Benoit.
Reply With Quote
  #4 (permalink)  
Old 01-24-2007
n2503v n2503v is offline
Registered User
 
Name: Alex Makarenko
Organization: ACFR, University of Sydney
Project: Orca
 
Join Date: Jun 2005
Posts: 79
Thanks Benoit, I got it to work using spawn() with my components. I am probably not covering all corner cases and it doesn't work with IceBox/IceStorm yet but I can debug it later.

Thanks for the info,
alex
__________________
Alex Makarenko
Australian Centre for Field Robotics
The University of Sydney
www.cas.edu.au
project: orca-robotics.sf.net
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT -4. The time now is 12:40 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.0.0
(c) 2008 ZeroC, Inc.