patch-2.1.11 linux/net/core/sock.c

Next file: linux/net/ipv4/Config.in
Previous file: linux/net/core/skbuff.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.10/linux/net/core/sock.c linux/net/core/sock.c
@@ -245,6 +245,8 @@
 			sk->bsdism = valbool;
 			break;
 			
+		/* We implementation the SO_SNDLOWAT etc to
+		   not be settable (1003.1g 5.3) */
 		default:
 		  	return(-ENOPROTOOPT);
   	}
@@ -317,12 +319,24 @@
 				ling.l_onoff=sk->linger;
 				ling.l_linger=sk->lingertime;
 				err = copy_to_user(optval,&ling,sizeof(ling));
+				if (err)
+				    err = -EFAULT;
 			}
 			return err;
 		
 		case SO_BSDCOMPAT:
 			val = sk->bsdism;
 			break;
+			
+		case SO_RCVTIMEO:
+		case SO_SNDTIMEO:
+		{
+			static struct timeval tm={0,0};
+			return copy_to_user(optval,&tm,sizeof(tm));
+		}
+		case SO_RCVLOWAT:
+		case SO_SNDLOWAT:
+			val=1;
 
 		default:
 			return(-ENOPROTOOPT);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov