Hello,
I am doing a blocking read on a UDP data flow. Intermittently I
get an error message "Error in receiving data on fd=8 => Resource
temporarily unavailable (EAGAIN) "
On getting this error message, I loose 1 packet and I print a message
in a text file with the timestamp.
I have isolated the block of : select, recvfrom, gettimeofday,writev
below.
The recvfrom in the isolated block has the second parameter different
from other recvfrom.
Can someone tell me what it means.
Can someone tell me what is it that is happening in the system which
is giving EAGAIN error to recvfrom.
Thanks,
SV
>>>>>>>>>>
recvfrom(8, "\0\0\0\0\0\0018\353HP\0\0\0\1\2\3\4\5\6\7\10\t\n\ v\f\r"...,
65535, 0, {sin_family=AF_INET, sin_port=htons(32922),
sin_addr=inet_addr("10.41.0.10")}}, [16]) = 19200
>>>start of isolated block
select(9, [8], NULL, NULL, {2, 10000}) = 1 (in [8], left {1, 990000})
recvfrom(8, 0x814d028, 65535, 0, 0x80da20c, 0x80cf598) = -1 EAGAIN
(Resource temporarily unavailable)
time([1098201763]) = 1098201763
gettimeofday({1098201763, 233741}, NULL) = 0
writev(2, [{"Oct 19 12:02:43.233", 19}, {" ", 1}, {"AGENT7.localho*",
15}, {" [", 2}, {"APPRAWUDP", 9}, {".", 1}, {"ERROR", 5}, {"]:", 2},
{"Error in receiving data on fd=8="..., 65}, {"\n", 1}], 10) = 120
>>>end of isolated block
select(9, [8], NULL, NULL, {2, 10000}) = 1 (in [8], left {2, 0})
recvfrom(8, "\0\0\0\0\0\0018\355FP\0\0\0\1\2\3\4\5\6\7\10\t\n\ v\f\r"...,
65535, 0, {sin_family=AF_INET, sin_port=htons(32922),
sin_addr=inet_addr("10.41.0.10")}}, [16]) = 19200
write(1, "MPSN,7,4,80108,80108\0", 21) = 21
time([1098201763]) = 1098201763
gettimeofday({1098201763, 244236}, NULL) = 0
writev(2, [{"Oct 19 12:02:43.244", 19}, {" ", 1}, {"AGENT7.localho*",
15}, {" [", 2}, {"APPRAWUDP", 9}, {".", 1}, {"INFO", 4}, {"]:", 2},
{"Sending missing PSN stats=MPSN,7"..., 46}, {"\n", 1}], 10) = 100
select(9, [8], NULL, NULL, {2, 10000}) = 1 (in [8], left {2, 0})
recvfrom(8, "\0\0\0\0\0\0018\356EP\0\0\0\1\2\3\4\5\6\7\10\t\n\ v\f\r"...,
65535, 0, {sin_family=AF_INET, sin_port=htons(32922),
sin_addr=inet_addr("10.41.0.10")}}, [16]) = 19200
select(9, [8], NULL, NULL, {2, 10000}) = 1 (in [8], left {2, 0})
recvfrom(8, "\0\0\0\0\0\1B\263\200F\0\0\0\1\2\3\4\5\6\7\10\t\n \v\f\r"...,
65535, 0, {sin_family=AF_INET, sin_port=htons(32922),
sin_addr=inet_addr("10.41.0.10")}}, [16]) = 19200
select(9, [8], NULL, NULL, {2, 10000}) = 1 (in [8], left {2, 0})
recvfrom(8, "\0\0\0\0\0\1B\272yF\0\0\0\1\2\3\4\5\6\7\10\t\n\v\ f\r\16"...,
65535, 0, {sin_family=AF_INET, sin_port=htons(32922),
sin_addr=inet_addr("10.41.0.10")}}, [16]) = 19200
select(9, [8], NULL, NULL, {2, 10000}) = 1 (in [8], left {2, 0})
recvfrom(8, "\0\0\0\0\0\1B\273xF\0\0\0\1\2\3\4\5\6\7\10\t\n\v\ f\r\16"...,
65535, 0, {sin_family=AF_INET, sin_port=htons(32922),
sin_addr=inet_addr("10.41.0.10")}}, [16]) = 19200
select(9, [8], NULL, NULL, {2, 10000}) = 1 (in [8], left {1, 990000})
recvfrom(8, 0x814d028, 65535, 0, 0x80da20c, 0x80cf598) = -1 EAGAIN
(Resource temporarily unavailable)
time([1098201788]) = 1098201788
gettimeofday({1098201788, 472582}, NULL) = 0
writev(2, [{"Oct 19 12:03:08.472", 19}, {" ", 1}, {"AGENT7.localho*",
15}, {" [", 2}, {"APPRAWUDP", 9}, {".", 1}, {"ERROR", 5}, {"]:", 2},
{"Error in receiving data on fd=8="..., 65}, {"\n", 1}], 10) = 120
select(9, [8], NULL, NULL, {2, 10000}) = 1 (in [8], left {2, 0})
recvfrom(8, "\0\0\0\0\0\1B\275vF\0\0\0\1\2\3\4\5\6\7\10\t\n\v\ f\r\16"...,
65535, 0, {sin_family=AF_INET, sin_port=htons(32922),
sin_addr=inet_addr("10.41.0.10")}}, [16]) = 19200
write(1, "MPSN,7,4,82620,82620\0", 21) = 21
time([1098201788]) = 1098201788
gettimeofday({1098201788, 482571}, NULL) = 0
writev(2, [{"Oct 19 12:03:08.482", 19}, {" ", 1}, {"AGENT7.localho*",
15}, {" [", 2}, {"APPRAWUDP", 9}, {".", 1}, {"INFO", 4}, {"]:", 2},
{"Sending missing PSN stats=MPSN,7"..., 46}, {"\n", 1}], 10) = 100
select(9, [8], NULL, NULL, {2, 10000}) = 1 (in [8], left {2, 0})
recvfrom(8, "\0\0\0\0\0\1B\276uF\0\0\0\1\2\3\4\5\6\7\10\t\n\v\ f\r\16"...,
65535, 0, {sin_family=AF_INET, sin_port=htons(32922),
sin_addr=inet_addr("10.41.0.10")}}, [16]) = 19200
select(9, [8], NULL, NULL, {2, 10000}) = 1 (in [8], left {2, 0})