----- Forwarded message from Brian Elliott Finley <[EMAIL PROTECTED]> -----
Date: Thu, 6 Nov 2003 17:38:31 -0600
From: Brian Elliott Finley <[EMAIL PROTECTED]>
To: UDP Cast <[EMAIL PROTECTED]>
Subject: exit code 141
First let me say that udpcast is a great tool. I use it in SystemImager
as a multicast transport option, and it works quite well.
I do have one conundrum, however, in that I'm trying to do a
--pipe 'tar -x' on a busybox system, and regardless of the exit status
of the --pipe program (tar in this case), I get an exit status of 141
from udp-receiver. The files, however, are untarred successfully.
If I issue the same commands on a non-busy box system, things work fine.
If I receive the stream to a file, --file /tmp/out, udp-receiver exits
with a zero.
A statically compiled udp-receiver exhibits the same behavior.
This is with udpcast-20011231.
I have even applied the patch below, which produces appropriate exit
codes when run on a non-busybox system.
Help!
Thanks, -Brian
diff -urN udpcast-20011231sis2.orig/udpr-negotiate.c
udpcast-20011231sis2/udpr-negotiate.c
--- udpcast-20011231sis2.orig/udpr-negotiate.c 2001-12-30 18:07:02.000000000 -0600
+++ udpcast-20011231sis2/udpr-negotiate.c 2003-11-06 10:05:27.000000000 -0600
@@ -1,3 +1,9 @@
+/*
+ * 2003.11.06 Brian E. Finley <[EMAIL PROTECTED]>
+ * - retrieve status returned by waitForProcess as "pipeStatus", then
+ * exit with status of failed pipe program if status is non-zero.
+ */
+
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
@@ -297,6 +303,8 @@
{
struct fifo fifo;
void *returnValue;
+ int pipeStatus;
+
receiver_stats_t stats = allocReadStats(origOutFile);
initFifo(&fifo, net_config->blockSize);
@@ -315,7 +323,11 @@
/* if we have a pipe, now wait for that too */
if(pipePid) {
- waitForProcess(pipePid, "Pipe");
+ pipeStatus = waitForProcess(pipePid, "Pipe");
+ if(pipeStatus != 0) {
+ fsync(origOutFile);
+ exit(pipeStatus);
+ }
}
fsync(origOutFile);
displayReceiverStats(stats);
--
---------------------------------------------------------
Brian Elliott Finley Argonne, MCS Division
Phone: 630.631.6621 http://thefinleys.com
GPG: 3FF8 D096 0E0C D3F3 29B7 6518 D20B 1931 10F8 EE52
---------------------------------------------------------
----- End forwarded message -----
--
---------------------------------------------------------
Brian Elliott Finley Argonne, MCS Division
Phone: 630.631.6621 http://thefinleys.com
GPG: 3FF8 D096 0E0C D3F3 29B7 6518 D20B 1931 10F8 EE52
---------------------------------------------------------
-------------------------------------------------------
This SF. Net email is sponsored by: GoToMyPC
GoToMyPC is the fast, easy and secure way to access your computer from
any Web browser or wireless device. Click here to Try it Free!
https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl
_______________________________________________
Sisuite-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/sisuite-devel