home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!olivea!charnel!rat!usc!sdd.hp.com!news.cs.indiana.edu!lynx.unm.edu!nmsu.edu!xdev.sunspot.noao.edu!dog
- From: dog@xdev.sunspot.noao.edu (Fritz Stauffer)
- Newsgroups: comp.os.vxworks
- Subject: vxWorks Sockets and Pipes
- Message-ID: <1993Jan12.201921.4490@nmsu.edu>
- Date: 12 Jan 93 20:19:21 GMT
- Sender: usenet@nmsu.edu
- Organization: Computer, Hardware and Observatory Support
- Lines: 21
-
- I am porting pdtar to vxWorks. It works on local disk
- systems just fine. Now, I am writing the remote transfer
- stuff. I spawn a task which creates a pipe to
- replace the tar file descriptor. The spawned task
- runs rcmd to 'dd' on a unix host for the remote I/O.
- There are two problems.
-
- 1) writing to a vxWorks pipe returns an ERROR if the pipe is full.
- Is there a way to block I/O when the pipe is full, or do I need to use
- message queues?
-
- 2) writing large files on the vxWorks target to the socket to output
- on the unix host uses all of the memory up and crashes. This is
- because the socket write buffers data in memory. This is okay for
- small tar files, but fails on large tar files. Is there a way to
- wait for the socket buffers to flush, or to get a socket status as
- to how much buffer is left, or any other feedback?
-
- Thanks for any ideas.
-
- Fritz Stauffer, Sac Peak Observatory
-