forked from enlightenment/enlightenment
and NOw we can open up /dev/ and not have E bog down into a completely
non-interactive state... this works like a charm... love it.. GOOD WORK cK! Excellent job.. this is actually what i originally thought we shoudl do (be able to send not just filename but also stat,mimetype etc. info along in one go with efsd doing in one lump) but i thought it might wokr ok as we had it before.. and it wasnt... so my original hunch was right... and it's working like a complete charmer. GOOD JOB! i'ts beginging to get to the point where we can do something.... WHEEEEEEEEEE congrats cK. now... i wish we had more cK's out there... (whoever is in munich out there buy cK a beer or 10) SVN revision: 4443
This commit is contained in:
parent
afdb663ac9
commit
a6c47e5205
46
src/fs.c
46
src/fs.c
|
@ -8,25 +8,29 @@ static void _e_fs_fd_handle(int fd);
|
||||||
static void
|
static void
|
||||||
_e_fs_fd_handle(int fd)
|
_e_fs_fd_handle(int fd)
|
||||||
{
|
{
|
||||||
Evas_List events = NULL;
|
|
||||||
double start, current;
|
double start, current;
|
||||||
|
|
||||||
/* printf("############## fs event...\n");*/
|
printf("############## fs event...\n");
|
||||||
start = e_get_time();
|
start = e_get_time();
|
||||||
while ((ec) && efsd_events_pending(ec))
|
while ((ec) && efsd_events_pending(ec))
|
||||||
{
|
{
|
||||||
EfsdEvent *ev;
|
EfsdEvent ev;
|
||||||
|
|
||||||
ev = NEW(EfsdEvent, 1);
|
if (efsd_next_event(ec, &ev) >= 0)
|
||||||
ZERO(ev, EfsdEvent, 1);
|
|
||||||
|
|
||||||
if (efsd_next_event(ec, ev) >= 0)
|
|
||||||
{
|
{
|
||||||
events = evas_list_append(events, ev);
|
Evas_List l;
|
||||||
|
|
||||||
|
for (l = fs_handlers; l; l = l->next)
|
||||||
|
{
|
||||||
|
void (*func) (EfsdEvent *ev);
|
||||||
|
|
||||||
|
func = l->data;
|
||||||
|
func(&ev);
|
||||||
|
}
|
||||||
|
efsd_event_cleanup(&ev);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
FREE(ev);
|
|
||||||
efsd_close(ec);
|
efsd_close(ec);
|
||||||
e_del_event_fd(fd);
|
e_del_event_fd(fd);
|
||||||
ec = NULL;
|
ec = NULL;
|
||||||
|
@ -43,29 +47,7 @@ _e_fs_fd_handle(int fd)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (events)
|
printf("############## fs done\n");
|
||||||
{
|
|
||||||
Evas_List l;
|
|
||||||
|
|
||||||
for (l = events; l; l = l->next)
|
|
||||||
{
|
|
||||||
Evas_List ll;
|
|
||||||
EfsdEvent *ev;
|
|
||||||
|
|
||||||
ev = l->data;
|
|
||||||
for (ll = fs_handlers; ll; ll = ll->next)
|
|
||||||
{
|
|
||||||
void (*func) (EfsdEvent *ev);
|
|
||||||
|
|
||||||
func = ll->data;
|
|
||||||
func(ev);
|
|
||||||
}
|
|
||||||
efsd_event_cleanup(ev);
|
|
||||||
FREE(ev);
|
|
||||||
}
|
|
||||||
evas_list_free(events);
|
|
||||||
}
|
|
||||||
/* printf("############## fs done\n");*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
Loading…
Reference in New Issue