diff options
Diffstat (limited to 'fs/eventpoll.c')
-rw-r--r-- | fs/eventpoll.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/fs/eventpoll.c b/fs/eventpoll.c index 9392dd968125..3fd4014f3c5a 100644 --- a/fs/eventpoll.c +++ b/fs/eventpoll.c | |||
@@ -1046,11 +1046,14 @@ retry: | |||
1046 | * RB tree. With the current implementation, the "size" parameter is ignored | 1046 | * RB tree. With the current implementation, the "size" parameter is ignored |
1047 | * (besides sanity checks). | 1047 | * (besides sanity checks). |
1048 | */ | 1048 | */ |
1049 | asmlinkage long sys_epoll_create(int size) | 1049 | asmlinkage long sys_epoll_create2(int size, int flags) |
1050 | { | 1050 | { |
1051 | int error, fd = -1; | 1051 | int error, fd = -1; |
1052 | struct eventpoll *ep; | 1052 | struct eventpoll *ep; |
1053 | 1053 | ||
1054 | if (flags & ~EPOLL_CLOEXEC) | ||
1055 | return -EINVAL; | ||
1056 | |||
1054 | DNPRINTK(3, (KERN_INFO "[%p] eventpoll: sys_epoll_create(%d)\n", | 1057 | DNPRINTK(3, (KERN_INFO "[%p] eventpoll: sys_epoll_create(%d)\n", |
1055 | current, size)); | 1058 | current, size)); |
1056 | 1059 | ||
@@ -1068,7 +1071,8 @@ asmlinkage long sys_epoll_create(int size) | |||
1068 | * Creates all the items needed to setup an eventpoll file. That is, | 1071 | * Creates all the items needed to setup an eventpoll file. That is, |
1069 | * a file structure and a free file descriptor. | 1072 | * a file structure and a free file descriptor. |
1070 | */ | 1073 | */ |
1071 | fd = anon_inode_getfd("[eventpoll]", &eventpoll_fops, ep, 0); | 1074 | fd = anon_inode_getfd("[eventpoll]", &eventpoll_fops, ep, |
1075 | flags & O_CLOEXEC); | ||
1072 | if (fd < 0) | 1076 | if (fd < 0) |
1073 | ep_free(ep); | 1077 | ep_free(ep); |
1074 | 1078 | ||
@@ -1079,6 +1083,11 @@ error_return: | |||
1079 | return fd; | 1083 | return fd; |
1080 | } | 1084 | } |
1081 | 1085 | ||
1086 | asmlinkage long sys_epoll_create(int size) | ||
1087 | { | ||
1088 | return sys_epoll_create2(size, 0); | ||
1089 | } | ||
1090 | |||
1082 | /* | 1091 | /* |
1083 | * The following function implements the controller interface for | 1092 | * The following function implements the controller interface for |
1084 | * the eventpoll file that enables the insertion/removal/change of | 1093 | * the eventpoll file that enables the insertion/removal/change of |