[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCHv2 5/4] nonblocking: reduce dependency
From: |
Bruno Haible |
Subject: |
Re: [PATCHv2 5/4] nonblocking: reduce dependency |
Date: |
Tue, 19 Apr 2011 12:11:34 +0200 |
User-agent: |
KMail/1.9.9 |
Eric Blake wrote:
> > From b7d23617875e1498f3b3ea8c6e6e31d6d9195bf9 Mon Sep 17 00:00:00 2001
> > From: Bruno Haible <address@hidden>
> > Date: Mon, 18 Apr 2011 02:34:47 +0200
> > Subject: [PATCH] Generalize close-hook to fd-hook.
>
> Looks nice.
Thanks. I committed it after some more testing and cleanups.
> Git can represent file moves in a much more compact representation,
> which is additionally useful because it shows the few lines that you had
> to tweak as part of the rename. I have:
>
> [diff]
> renames = true
>
> in my ~/.gitconfig, to turn on the git rename detection by default.
Thanks for the tip. I'm now doing the same.
Bruno
2011-04-19 Bruno Haible <address@hidden>
ioctl: Remove link dependency on native Windows.
* lib/fd-hook.h: Renamed from lib/close-hook.h.
(gl_close_fn, gl_ioctl_fn): New types.
(struct fd_hook): Renamed from struct close_hook. Change type of
private_close_fn field. Add private_ioctl_fn field.
(close_hook_fn): Add parameter for primary close method.
(execute_close_hooks, execute_all_close_hooks): Likewise.
(ioctl_hook_fn): New type.
(execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
(register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
argument.
(unregister_fd_hook): Renamed from unregister_close_hook.
* lib/fd-hook.c: Renamed from lib/close-hook.c.
Don't include <unistd.h>.
(close): Remove undef.
(anchor): Update.
(execute_close_hooks): Add argument for primary close method.
(execute_all_close_hooks): Likewise.
(execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
(register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
argument. Allow each argument to be NULL.
(unregister_fd_hook): Renamed from unregister_close_hook.
* lib/close.c (rpl_close): Pass 'close' function pointer to
execute_all_close_hooks.
* lib/ioctl.c: Include <errno.h>, fd-hook.h.
(primary_ioctl): New function.
(ioctl): Don't call ioctlsocket here. Instead, call
execute_all_ioctl_hooks.
* lib/sockets.c (close_fd_maybe_socket): Add argument for primary
close method.
(ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
(fd_sockets_hook): Renamed from close_sockets_hook.
(gl_sockets_startup, gl_sockets_cleanup): Update.
* modules/fd-hook: Renamed from modules/close-hook. Update.
* modules/close (Depends-on): Add fd-hook, remove close-hook.
* modules/sockets (Depends-on): Likewise.
* modules/ioctl (Depends-on): Add fd-hook.
* tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
GNULIB_SOCKET.
<http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=6110d07dee40692d43f2ef8884230e0d53c56548>
--
In memoriam Charles Delestraint
<http://en.wikipedia.org/wiki/Charles_Delestraint>
- Re: [PATCH 1/4] nonblocking: provide O_NONBLOCK for mingw, (continued)