mirror of /home/gitosis/repositories/libev.git
*** empty log message ***
parent
67f9635439
commit
67c768aee3
16
ev.c
16
ev.c
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* libev event processing core, watcher management
|
||||
*
|
||||
* Copyright (c) 2007,2008,2009 Marc Alexander Lehmann <libev@schmorp.de>
|
||||
* Copyright (c) 2007,2008,2009,2010 Marc Alexander Lehmann <libev@schmorp.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modifica-
|
||||
|
@ -165,6 +165,7 @@ extern "C" {
|
|||
#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
#include <time.h>
|
||||
#include <limits.h>
|
||||
|
||||
#include <signal.h>
|
||||
|
||||
|
@ -2861,7 +2862,9 @@ ev_child_stop (EV_P_ ev_child *w)
|
|||
static void noinline stat_timer_cb (EV_P_ ev_timer *w_, int revents);
|
||||
|
||||
#if EV_USE_INOTIFY
|
||||
# define EV_INOTIFY_BUFSIZE 8192
|
||||
|
||||
/* the * 2 is to allow for alignment padding, which for some reason is >> 8 */
|
||||
# define EV_INOTIFY_BUFSIZE (sizeof (struct inotify_event) * 2 + NAME_MAX)
|
||||
|
||||
static void noinline
|
||||
infy_add (EV_P_ ev_stat *w)
|
||||
|
@ -2980,12 +2983,15 @@ static void
|
|||
infy_cb (EV_P_ ev_io *w, int revents)
|
||||
{
|
||||
char buf [EV_INOTIFY_BUFSIZE];
|
||||
struct inotify_event *ev = (struct inotify_event *)buf;
|
||||
int ofs;
|
||||
int len = read (fs_fd, buf, sizeof (buf));
|
||||
|
||||
for (ofs = 0; ofs < len; ofs += sizeof (struct inotify_event) + ev->len)
|
||||
infy_wd (EV_A_ ev->wd, ev->wd, ev);
|
||||
for (ofs = 0; ofs < len; )
|
||||
{
|
||||
struct inotify_event *ev = (struct inotify_event *)(buf + ofs);
|
||||
infy_wd (EV_A_ ev->wd, ev->wd, ev);
|
||||
ofs += sizeof (struct inotify_event) + ev->len;
|
||||
}
|
||||
}
|
||||
|
||||
inline_size void
|
||||
|
|
Loading…
Reference in New Issue