96 lines
3.6 KiB
C
96 lines
3.6 KiB
C
$NetBSD$
|
|
|
|
From FreeBSD ports devel/dbus.
|
|
|
|
Added Mon May 10 21:19:08 2010 UTC
|
|
|
|
Presenting GNOME 2.30.1 for FreeBSD.
|
|
|
|
--- dbus/dbus-connection.c.orig 2018-02-08 14:07:21.000000000 +0000
|
|
+++ dbus/dbus-connection.c
|
|
@@ -2385,7 +2385,11 @@ _dbus_connection_block_pending_call (DBu
|
|
DBusConnection *connection;
|
|
dbus_uint32_t client_serial;
|
|
DBusTimeout *timeout;
|
|
+#if defined(__FreeBSD__) || defined(__DragonFly__)
|
|
+ int timeout_milliseconds, elapsed_milliseconds, remain_milliseconds;
|
|
+#else
|
|
int timeout_milliseconds, elapsed_milliseconds;
|
|
+#endif
|
|
|
|
_dbus_assert (pending != NULL);
|
|
|
|
@@ -2467,6 +2471,12 @@ _dbus_connection_block_pending_call (DBu
|
|
elapsed_milliseconds = (tv_sec - start_tv_sec) * 1000 +
|
|
(tv_usec - start_tv_usec) / 1000;
|
|
|
|
+#if defined(__FreeBSD__) || defined(__DragonFly__)
|
|
+ if (timeout_milliseconds != -1)
|
|
+ remain_milliseconds = timeout_milliseconds - elapsed_milliseconds;
|
|
+ else
|
|
+ remain_milliseconds = -1;
|
|
+#endif
|
|
if (!_dbus_connection_get_is_connected_unlocked (connection))
|
|
{
|
|
DBusMessage *error_msg;
|
|
@@ -2494,7 +2504,11 @@ _dbus_connection_block_pending_call (DBu
|
|
*/
|
|
_dbus_verbose ("dbus_connection_send_with_reply_and_block() waiting for more memory\n");
|
|
|
|
+#if defined(__FreeBSD__) || defined(__DragonFly__)
|
|
+ _dbus_memory_pause_based_on_timeout (remain_milliseconds);
|
|
+#else
|
|
_dbus_memory_pause_based_on_timeout (timeout_milliseconds - elapsed_milliseconds);
|
|
+#endif
|
|
}
|
|
else
|
|
{
|
|
@@ -2503,7 +2517,11 @@ _dbus_connection_block_pending_call (DBu
|
|
pending,
|
|
DBUS_ITERATION_DO_READING |
|
|
DBUS_ITERATION_BLOCK,
|
|
+#if defined(__FreeBSD__) || defined(__DragonFly__)
|
|
+ remain_milliseconds);
|
|
+#else
|
|
timeout_milliseconds - elapsed_milliseconds);
|
|
+#endif
|
|
}
|
|
|
|
goto recheck_status;
|
|
@@ -2512,7 +2530,11 @@ _dbus_connection_block_pending_call (DBu
|
|
_dbus_verbose ("dbus_connection_send_with_reply_and_block(): clock set backward\n");
|
|
else if (elapsed_milliseconds < timeout_milliseconds)
|
|
{
|
|
+#if defined(__FreeBSD__) || defined(__DragonFly__)
|
|
+ _dbus_verbose ("dbus_connection_send_with_reply_and_block(): %d milliseconds remain\n", remain_milliseconds);
|
|
+#else
|
|
_dbus_verbose ("dbus_connection_send_with_reply_and_block(): %d milliseconds remain\n", timeout_milliseconds - elapsed_milliseconds);
|
|
+#endif
|
|
|
|
if (status == DBUS_DISPATCH_NEED_MEMORY)
|
|
{
|
|
@@ -2522,7 +2544,11 @@ _dbus_connection_block_pending_call (DBu
|
|
*/
|
|
_dbus_verbose ("dbus_connection_send_with_reply_and_block() waiting for more memory\n");
|
|
|
|
+#if defined(__FreeBSD__) || defined(__DragonFly__)
|
|
+ _dbus_memory_pause_based_on_timeout (remain_milliseconds);
|
|
+#else
|
|
_dbus_memory_pause_based_on_timeout (timeout_milliseconds - elapsed_milliseconds);
|
|
+#endif
|
|
}
|
|
else
|
|
{
|
|
@@ -2531,7 +2557,11 @@ _dbus_connection_block_pending_call (DBu
|
|
pending,
|
|
DBUS_ITERATION_DO_READING |
|
|
DBUS_ITERATION_BLOCK,
|
|
+#if defined(__FreeBSD__) || defined(__DragonFly__)
|
|
+ remain_milliseconds);
|
|
+#else
|
|
timeout_milliseconds - elapsed_milliseconds);
|
|
+#endif
|
|
}
|
|
|
|
goto recheck_status;
|