mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
Fix fd leak with kernel change notify.
Jeremy.
(This used to be commit a204339073
)
This commit is contained in:
parent
5d88296d80
commit
0fff69f974
@ -127,7 +127,6 @@ static void kernel_remove_notify(void *datap)
|
|||||||
BlockSignals(True, RT_SIGNAL_NOTIFY);
|
BlockSignals(True, RT_SIGNAL_NOTIFY);
|
||||||
for (i = 0; i < signals_received; i++) {
|
for (i = 0; i < signals_received; i++) {
|
||||||
if (fd == (int)fd_pending_array[i]) {
|
if (fd == (int)fd_pending_array[i]) {
|
||||||
close(fd);
|
|
||||||
fd_pending_array[i] = (SIG_ATOMIC_T)-1;
|
fd_pending_array[i] = (SIG_ATOMIC_T)-1;
|
||||||
if (signals_received - i - 1) {
|
if (signals_received - i - 1) {
|
||||||
memmove((void *)&fd_pending_array[i], (void *)&fd_pending_array[i+1],
|
memmove((void *)&fd_pending_array[i], (void *)&fd_pending_array[i+1],
|
||||||
@ -138,6 +137,7 @@ static void kernel_remove_notify(void *datap)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
close(fd);
|
||||||
BlockSignals(False, RT_SIGNAL_NOTIFY);
|
BlockSignals(False, RT_SIGNAL_NOTIFY);
|
||||||
}
|
}
|
||||||
SAFE_FREE(data);
|
SAFE_FREE(data);
|
||||||
|
Loading…
Reference in New Issue
Block a user