summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2015-03-12 20:16:46 +0000
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2015-05-12 18:35:13 +0100
commit21ca7f7cc35115e0afae3bf3fcf38f8b6d260b59 (patch)
tree6c14124017e192620ba5f9a911779ab764f669cb
parent378e01c0d04fa9bc4a5a2f725ac332acf83793af (diff)
downloaddbus-21ca7f7cc35115e0afae3bf3fcf38f8b6d260b59.tar.gz
Split _dbus_set_fd_nonblocking vs. _dbus_set_socket_nonblocking
The former is Unix-specific, the latter is also portable to Windows. On Unix, they're really the same thing. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=89444 Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
-rw-r--r--dbus/dbus-internals.h3
-rw-r--r--dbus/dbus-server-socket.c2
-rw-r--r--dbus/dbus-sysdeps-unix.c10
-rw-r--r--dbus/dbus-sysdeps-win.c8
-rw-r--r--dbus/dbus-sysdeps.h4
5 files changed, 18 insertions, 9 deletions
diff --git a/dbus/dbus-internals.h b/dbus/dbus-internals.h
index 63685389..225a9b66 100644
--- a/dbus/dbus-internals.h
+++ b/dbus/dbus-internals.h
@@ -279,9 +279,6 @@ char** _dbus_dup_string_array (const char **array);
typedef void (* DBusForeachFunction) (void *element,
void *data);
-dbus_bool_t _dbus_set_fd_nonblocking (int fd,
- DBusError *error);
-
void _dbus_verbose_bytes (const unsigned char *data,
int len,
int offset);
diff --git a/dbus/dbus-server-socket.c b/dbus/dbus-server-socket.c
index a05e3015..73ddfe38 100644
--- a/dbus/dbus-server-socket.c
+++ b/dbus/dbus-server-socket.c
@@ -95,7 +95,7 @@ handle_new_client_fd_and_unlock (DBusServer *server,
HAVE_LOCK_CHECK (server);
- if (!_dbus_set_fd_nonblocking (client_fd, NULL))
+ if (!_dbus_set_socket_nonblocking (client_fd, NULL))
{
SERVER_UNLOCK (server);
return TRUE;
diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c
index bb4724b2..f6121a7a 100644
--- a/dbus/dbus-sysdeps-unix.c
+++ b/dbus/dbus-sysdeps-unix.c
@@ -134,6 +134,9 @@
#endif /* Solaris */
+static dbus_bool_t _dbus_set_fd_nonblocking (int fd,
+ DBusError *error);
+
static dbus_bool_t
_dbus_open_socket (int *fd_p,
int domain,
@@ -3207,6 +3210,13 @@ _dbus_dup(int fd,
* @returns #TRUE on success.
*/
dbus_bool_t
+_dbus_set_socket_nonblocking (DBusSocket fd,
+ DBusError *error)
+{
+ return _dbus_set_fd_nonblocking (fd, error);
+}
+
+static dbus_bool_t
_dbus_set_fd_nonblocking (int fd,
DBusError *error)
{
diff --git a/dbus/dbus-sysdeps-win.c b/dbus/dbus-sysdeps-win.c
index 48b28b3a..28ec7f04 100644
--- a/dbus/dbus-sysdeps-win.c
+++ b/dbus/dbus-sysdeps-win.c
@@ -538,8 +538,8 @@ _dbus_win_handle_set_close_on_exec (HANDLE handle)
* @returns #TRUE on success.
*/
dbus_bool_t
-_dbus_set_fd_nonblocking (int handle,
- DBusError *error)
+_dbus_set_socket_nonblocking (DBusSocket handle,
+ DBusError *error)
{
u_long one = 1;
@@ -1615,7 +1615,7 @@ _dbus_connect_tcp_socket_with_nonce (const char *host,
/* Every SOCKET is also a HANDLE. */
_dbus_win_handle_set_close_on_exec ((HANDLE) fd);
- if (!_dbus_set_fd_nonblocking (fd, error))
+ if (!_dbus_set_socket_nonblocking (fd, error))
{
closesocket (fd);
return -1;
@@ -1824,7 +1824,7 @@ _dbus_listen_tcp_socket (const char *host,
for (i = 0 ; i < nlisten_fd ; i++)
{
_dbus_win_handle_set_close_on_exec ((HANDLE) listen_fd[i]);
- if (!_dbus_set_fd_nonblocking (listen_fd[i], error))
+ if (!_dbus_set_socket_nonblocking (listen_fd[i], error))
{
goto failed;
}
diff --git a/dbus/dbus-sysdeps.h b/dbus/dbus-sysdeps.h
index 4c92928b..2a80aa46 100644
--- a/dbus/dbus-sysdeps.h
+++ b/dbus/dbus-sysdeps.h
@@ -164,6 +164,9 @@ _dbus_socket_get_invalid (void)
return s;
}
+dbus_bool_t _dbus_set_socket_nonblocking (DBusSocket fd,
+ DBusError *error);
+
DBUS_PRIVATE_EXPORT
dbus_bool_t _dbus_close_socket (DBusSocket fd,
DBusError *error);
@@ -225,7 +228,6 @@ int _dbus_listen_tcp_socket (const char *host,
DBusError *error);
DBusSocket _dbus_accept (DBusSocket listen_fd);
-
dbus_bool_t _dbus_read_credentials_socket (DBusSocket client_fd,
DBusCredentials *credentials,
DBusError *error);