Add SOCK_CLOEXEC and SOCK_NONBLOCK socket flags.

SOCK_CLOEXEC is used to atomically set close-on-exec flag for the new
descriptor(s), and SOCK_NONBLOCK is used to mark descriptor(s) as
non-blocking.

Change-Id: I8ba6a70543d23759e3ddcc7ff9c21b567184d681
This commit is contained in:
Andrei Emeltchenko 2013-10-14 16:48:26 +03:00 committed by Elliott Hughes
parent 70cf207761
commit 43d2137af0

View File

@ -25,6 +25,7 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
*/ */
#ifndef _SYS_SOCKET_H_ #ifndef _SYS_SOCKET_H_
#define _SYS_SOCKET_H_ #define _SYS_SOCKET_H_
@ -32,6 +33,7 @@
#include <sys/types.h> #include <sys/types.h>
#include <linux/socket.h> #include <linux/socket.h>
#include <asm/fcntl.h>
#include <asm/socket.h> #include <asm/socket.h>
#include <linux/sockios.h> #include <linux/sockios.h>
#include <linux/uio.h> #include <linux/uio.h>
@ -61,13 +63,15 @@ typedef int socklen_t;
#define SOCK_PACKET 10 #define SOCK_PACKET 10
#endif #endif
/* BIONIC: second argument to shutdown() */ #define SOCK_CLOEXEC O_CLOEXEC
#define SOCK_NONBLOCK O_NONBLOCK
enum { enum {
SHUT_RD = 0, /* no more receptions */ SHUT_RD = 0,
#define SHUT_RD SHUT_RD #define SHUT_RD SHUT_RD
SHUT_WR, /* no more transmissions */ SHUT_WR,
#define SHUT_WR SHUT_WR #define SHUT_WR SHUT_WR
SHUT_RDWR /* no more receptions or transmissions */ SHUT_RDWR
#define SHUT_RDWR SHUT_RDWR #define SHUT_RDWR SHUT_RDWR
}; };