parisc: Define O_NONBLOCK to become 000200000
authorHelge Deller <deller@gmx.de>
Sat, 29 Aug 2020 12:11:35 +0000 (14:11 +0200)
committerHelge Deller <deller@gmx.de>
Thu, 15 Oct 2020 06:10:38 +0000 (08:10 +0200)
HPUX has separate NDELAY & NONBLOCK values. In the past we wanted to
be able to run HP-UX binaries natively on parisc Linux which is why
we defined O_NONBLOCK to 000200004 to distinguish NDELAY & NONBLOCK
bits.
But with 2 bits set in this bitmask we often ran into compatibility
issues with other Linux applications which often only test one bit (or
even compare the values).

To avoid such issues in the future, this patch changes O_NONBLOCK to
become 000200000. That way old programs will still be functional, and
for new programs we now have only one bit set.

Update the comment about SOCK_NONBLOCK too.

Signed-off-by: Helge Deller <deller@gmx.de>
arch/parisc/include/asm/socket.h
arch/parisc/include/uapi/asm/fcntl.h

index 79feff1..33500c9 100644 (file)
@@ -4,8 +4,8 @@
 
 #include <uapi/asm/socket.h>
 
-/* O_NONBLOCK clashes with the bits used for socket types.  Therefore we
- * have to define SOCK_NONBLOCK to a different value here.
+/* O_NONBLOCK clashed with the bits used for socket types.  Therefore we
+ * had to define SOCK_NONBLOCK to a different value here.
  */
 #define SOCK_NONBLOCK  0x40000000
 
index e19adc6..03dee81 100644 (file)
@@ -8,7 +8,7 @@
 #define O_LARGEFILE    000004000
 #define __O_SYNC       000100000
 #define O_SYNC         (__O_SYNC|O_DSYNC)
-#define O_NONBLOCK     000200004 /* HPUX has separate NDELAY & NONBLOCK */
+#define O_NONBLOCK     000200000
 #define O_NOCTTY       000400000 /* not fcntl */
 #define O_DSYNC                001000000
 #define O_NOATIME      004000000