this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fake SO_NOSIGNAL support

+5 -2
+3 -1
src/kernel/emulation/linux/network/getsockopt.c
··· 17 17 18 18 ret = sockopt_bsd_to_linux(&linux_level, &linux_optname, NULL, NULL); 19 19 20 - if (ret != 0) 20 + if (ret != 0 || !linux_optname) 21 21 return ret; 22 22 23 23 #ifdef __NR_socketcall ··· 104 104 *optname = LINUX_SO_TYPE; break; 105 105 case BSD_SO_LINGER_SEC: 106 106 *optname = LINUX_SO_LINGER; break; 107 + case BSD_SO_NOSIGNAL: 108 + *optname = 0; break; // FIXME: send() with MSG_NOSIGNAL... 107 109 default: 108 110 return -EINVAL; 109 111 }
+1
src/kernel/emulation/linux/network/getsockopt.h
··· 59 59 BSD_SO_RCVTIMEO, 60 60 BSD_SO_ERROR, 61 61 BSD_SO_TYPE, 62 + BSD_SO_NOSIGNAL = 0x1022, 62 63 BSD_SO_LINGER_SEC = 0x1080, 63 64 }; 64 65
+1 -1
src/kernel/emulation/linux/network/setsockopt.c
··· 20 20 ret = sockopt_bsd_to_linux(&linux_level, &linux_optname, 21 21 (void**) &optval, buf); 22 22 23 - if (ret != 0) 23 + if (ret != 0 || !linux_optname) 24 24 return ret; 25 25 26 26 #ifdef __NR_socketcall