Commit 760e5366 authored by Stewart Brodie's avatar Stewart Brodie
Browse files

Added a missing declaration to socklib.h

  Added EINTR detection in UDP RPC clients.
Admin:
  NFS module seems to work OK still when you press ESCAPE.


Version 5.40. Tagged as 'TCPIPLibs-5_40'
parent b9d50909
Acorn TCP/IP libraries version 5.39
Acorn TCP/IP libraries version 5.40
-----------------------------------
These libraries are an update to the libraries described in chapter 123 of the PRM
......
/* (5.39)
/* (5.40)
*
* This file is automatically maintained by srccommit, do not edit manually.
*
*/
#define Module_MajorVersion_CMHG 5.39
#define Module_MajorVersion_CMHG 5.40
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 20 Mar 2001
#define Module_Date_CMHG 12 Jun 2001
#define Module_MajorVersion "5.39"
#define Module_Version 539
#define Module_MajorVersion "5.40"
#define Module_Version 540
#define Module_MinorVersion ""
#define Module_Date "20 Mar 2001"
#define Module_Date "12 Jun 2001"
#define Module_ApplicationDate2 "20-Mar-01"
#define Module_ApplicationDate4 "20-Mar-2001"
#define Module_ApplicationDate2 "12-Jun-01"
#define Module_ApplicationDate4 "12-Jun-2001"
#define Module_ComponentName "TCPIPLibs"
#define Module_ComponentPath "RiscOS/Sources/Lib/TCPIPLibs"
#define Module_FullVersion "5.39"
#define Module_HelpVersion "5.39 (20 Mar 2001)"
#define Module_FullVersion "5.40"
#define Module_HelpVersion "5.40 (12 Jun 2001)"
......@@ -366,8 +366,10 @@ send_again:
return (cu->cu_error.re_status = RPC_TIMEDOUT);
case -1:
#ifndef RISCOS
if (errno == EINTR)
continue;
#endif
cu->cu_error.re_errno = errno;
return (cu->cu_error.re_status = RPC_CANTRECV);
}
......@@ -376,7 +378,13 @@ send_again:
inlen = recvfrom(cu->cu_sock, cu->cu_inbuf,
(int) cu->cu_recvsz, 0,
(struct sockaddr *)&from, &fromlen);
} while (inlen < 0 && errno == EINTR);
} while
#ifdef RISCOS
/* RISC OS uses EINTR to mean escape was pressed - so DO NOT simply retry! */
(0)
#else
(data->inlen < 0 && errno == EINTR);
#endif
if (inlen < 0)
{
if (errno == EWOULDBLOCK)
......@@ -703,7 +711,13 @@ endtime(t);
case -1:
if (errno == EINTR)
{
#ifdef RISCOS
data->next_op = op_error;
endtime(t);
return (cu->cu_error.re_status = RPC_SYSTEMERROR);
#else
data->next_op = op_wait; /* call this function again */
#endif
endtime(t);
return (cu->cu_error.re_status);
}
......@@ -717,7 +731,13 @@ endtime(t);
data->inlen = recvfrom(cu->cu_sock, cu->cu_inbuf,
(int) cu->cu_recvsz, 0,
(struct sockaddr *)&data->from, &data->fromlen);
} while (data->inlen < 0 && errno == EINTR);
} while
#ifdef RISCOS
/* RISC OS uses EINTR to mean escape was pressed - so DO NOT simply retry! */
(0)
#else
(data->inlen < 0 && errno == EINTR);
#endif
if (data->inlen < 0)
{
if (errno == EWOULDBLOCK)
......
......@@ -48,6 +48,7 @@ extern int errno;
extern _kernel_oserror _inet_error;
struct sockaddr_in;
struct nlist;
#ifndef kvm_t
#define kvm_t void
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment