aboutsummaryrefslogtreecommitdiffstats
path: root/vcl-ldpreload/src/libvcl-ldpreload/vcom.c
diff options
context:
space:
mode:
authorshrinivasan ganapathy <shrinivasanganapathy@gmail.com>2017-10-08 15:14:49 -0700
committershrinivasan ganapathy <shrinivasanganapathy@gmail.com>2017-10-09 04:47:54 -0700
commit1431306b973562a04f515b7beb2f668b89e72374 (patch)
tree5ff1114a1d13d7a754d4b5d34e32a515c12ee0a5 /vcl-ldpreload/src/libvcl-ldpreload/vcom.c
parenteedb87c186367920216f43437aac94f7d882690f (diff)
LD_PRELOAD epoll_ctl implementation
- EPOLL_CTL_ADD - EPOLL_CTL_MOD - EPOLL_CTL_DEL - close() - amend 1 - removed stubs for vppcom_session_epoll_create and ctl - add trace for epoll_create, epoll_ctl and epoll_wait Change-Id: I0822f2212d56319f41236473bf547cf118fb18e0 Signed-off-by: shrinivasan ganapathy <shrinivasanganapathy@gmail.com>
Diffstat (limited to 'vcl-ldpreload/src/libvcl-ldpreload/vcom.c')
-rw-r--r--vcl-ldpreload/src/libvcl-ldpreload/vcom.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/vcl-ldpreload/src/libvcl-ldpreload/vcom.c b/vcl-ldpreload/src/libvcl-ldpreload/vcom.c
index 75054eb..eb5e8d1 100644
--- a/vcl-ldpreload/src/libvcl-ldpreload/vcom.c
+++ b/vcl-ldpreload/src/libvcl-ldpreload/vcom.c
@@ -2657,8 +2657,14 @@ int
epoll_create (int __size)
{
int rv = 0;
+ pid_t pid = getpid ();
rv = vcom_epoll_create(__size);
+ if (VCOM_DEBUG > 0)
+ fprintf (stderr,
+ "[%d] epoll_create: "
+ "'%04d'='%04d'\n",
+ pid, rv, __size);
if (rv < 0)
{
errno = -rv;
@@ -2695,8 +2701,14 @@ int
epoll_create1 (int __flags)
{
int rv = 0;
+ pid_t pid = getpid ();
rv = vcom_epoll_create1(__flags);
+ if (VCOM_DEBUG > 0)
+ fprintf (stderr,
+ "[%d] epoll_create: "
+ "'%04d'='%08x'\n",
+ pid, rv, __flags);
if (rv < 0)
{
errno = -rv;
@@ -2737,10 +2749,12 @@ vcom_epoll_ctl (int __epfd, int __op, int __fd,
}
/* fd is same as epfd */
+ /* do not permit adding an epoll file descriptor inside itself */
if (__epfd == __fd)
{
return -EINVAL;
}
+
/* implementation */
return vcom_socket_epoll_ctl (__epfd, __op, __fd,
__event);
@@ -2768,7 +2782,8 @@ epoll_ctl (int __epfd, int __op, int __fd,
if (VCOM_DEBUG > 0)
fprintf (stderr,
"[%d] epoll_ctl: "
- "'%04d'='%04d', '%04d', '%04d'\n", pid, rv, __epfd, __op, __fd);
+ "'%04d'='%04d', '%04d', '%04d'\n",
+ pid, rv, __epfd, __op, __fd);
if (rv != 0)
{
errno = -rv;