git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
BSD: fix resource leak
[exim.git]
/
src
/
src
/
tls.c
diff --git
a/src/src/tls.c
b/src/src/tls.c
index d5d11bcea874cc58a0b76c621fc1b2192a6d75ec..e6b1bf7a70aa8595afa7b5a2d8b088046031a42a 100644
(file)
--- a/
src/src/tls.c
+++ b/
src/src/tls.c
@@
-185,8
+185,8
@@
for (;;)
{
if ((fd1 = open(CCS filename, O_RDONLY | O_NOFOLLOW)) < 0)
{ s = US"open file"; goto bad; }
{
if ((fd1 = open(CCS filename, O_RDONLY | O_NOFOLLOW)) < 0)
{ s = US"open file"; goto bad; }
- DEBUG(D_tls) debug_printf("watch file '%s'
\n", filename
);
- EV_SET(&kev[
++kev_used
],
+ DEBUG(D_tls) debug_printf("watch file '%s'
:\t%d\n", filename, fd1
);
+ EV_SET(&kev[
kev_used++
],
(uintptr_t)fd1,
EVFILT_VNODE,
EV_ADD | EV_ENABLE | EV_ONESHOT,
(uintptr_t)fd1,
EVFILT_VNODE,
EV_ADD | EV_ENABLE | EV_ONESHOT,
@@
-196,8
+196,8
@@
for (;;)
NULL);
cnt++;
}
NULL);
cnt++;
}
- DEBUG(D_tls) debug_printf("watch dir '%s'
\n", s
);
- EV_SET(&kev[
++kev_used
],
+ DEBUG(D_tls) debug_printf("watch dir '%s'
:\t%d\n", s, fd2
);
+ EV_SET(&kev[
kev_used++
],
(uintptr_t)fd2,
EVFILT_VNODE,
EV_ADD | EV_ENABLE | EV_ONESHOT,
(uintptr_t)fd2,
EVFILT_VNODE,
EV_ADD | EV_ENABLE | EV_ONESHOT,
@@
-320,6
+320,7
@@
if (tls_watch_fd < 0) return;
/* Close the files we had open for kevent */
for (int i = 0; i < kev_used; i++)
{
/* Close the files we had open for kevent */
for (int i = 0; i < kev_used; i++)
{
+ DEBUG(D_tls) debug_printf("closing watch fd: %d\n", (int) kev[i].ident);
(void) close((int) kev[i].ident);
kev[i].ident = (uintptr_t)-1;
}
(void) close((int) kev[i].ident);
kev[i].ident = (uintptr_t)-1;
}