home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!spool.mu.edu!agate!dog.ee.lbl.gov!lbl.gov!vxwexplo
- From: gordon@tpocc.gsfc.nasa.gov (Gordon Miller)
- Newsgroups: comp.os.vxworks
- Subject: re: RPC's
- Date: Fri, 8 Jan 93 07:51:27 EST
- Organization: Lawrence Berkeley Laboratory, Berkeley CA
- Lines: 59
- Sender: vxwexplo@lbl.gov
- Message-ID: <9301081251.AA05179@tpocc.gsfc.nasa.gov>
- NNTP-Posting-Host: 128.3.112.16
- Originator: daemon@vxw.ee.lbl.gov
-
-
- sapp@falcon.ssc.gov (Kevin Sapp) writes:
-
- >I have RPC's working between a Sparc2 and a VxWorks MVME147, but only
- >at the shell. When I execute the RPC server directly from the shell
- >everything works fine. When I do a taskSpawn 100,0,20000,myRpcTest
- >the program dies down in the pmap_unset function during an indirect
- >function call off of (a1), the address that it is trying to call
- >causes a bus error.
-
- I am surprised this works from the shell. A quick look at the
- manual shows that your arguement list could be the problem. The
- call taskSpawn has a usage as follows:
-
- int taskSpawn (name, priority, options, stackSize, entryPt,
- arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10)
- where
- char *name; /* name of the new task */
- int priority; /* priority of the new task */
- int options; /* task option word */
- int stackSize; /* size of stack, be generous */
- FUNCPTR entryPt; /* entry point of new task */
- int arg1; /* task arguement one */
- int arg2; /* task arguement two */
- int arg3; /* task arguement three */
- int arg4; /* task arguement four */
- int arg5; /* task arguement five */
- int arg6; /* task arguement six */
- int arg7; /* task arguement seven */
- int arg8; /* task arguement eight */
- int arg9; /* task arguement nine */
- int arg10; /* task arguement ten */
-
- If taskSpawn line you used really is as stated in your post, then
- you forgot the name for the new task, shifting the entire arguement
- list off by one. The results of this are unknown to me.
-
- If you do not need to worry about the priority, options, stack size
- and name (for referencing the task from the shell), you could use
- call "sp". This will spawn a task with the default parameters.
- Its usage is as follows:
-
- int sp (func, arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)
-
- where
-
- FUNCPTR func; /* entry point of new task */
- int arg1,arg2,arg3; /* passed to spawned task */
- int arg4,arg5,arg6; /* passed to spawned task */
- int arg7,arg8,arg9; /* passwd to spawned task */
-
- Jason's comments about RPC needed to be initialized (and built
- into your vxWorks kernel) are still valid. Hope this helps.
-
- Gordon Miller Integral Systems, Inc.
- gordon@tpocc.gsfc.nasa.gov 1100 West Street
- CSC/LR
- (301) 497-2416 Laurel, MD 20707
-
-