25 #include "dbus-internals.h"
26 #include "dbus-connection-internal.h"
27 #include "dbus-pending-call-internal.h"
28 #include "dbus-pending-call.h"
29 #include "dbus-list.h"
30 #include "dbus-threads.h"
31 #include "dbus-test.h"
52 #define CONNECTION_LOCK(connection) _dbus_connection_lock(connection)
56 #define CONNECTION_UNLOCK(connection) _dbus_connection_unlock(connection)
93 int timeout_milliseconds,
99 _dbus_assert (timeout_milliseconds >= 0 || timeout_milliseconds == -1);
101 if (timeout_milliseconds == -1)
102 timeout_milliseconds = _DBUS_DEFAULT_TIMEOUT_VALUE;
164 _dbus_verbose (
" handing message %p (%s) to pending call serial %u\n",
169 "error" :
"other type",
174 pending->
reply = message;
195 notify_user_data_slot);
197 (* pending->
function) (pending, user_data);
343 "Did not receive a reply. Possible causes include: "
344 "the remote application did not send a reply, "
345 "the message bus security policy blocked the reply, "
346 "the reply timeout expired, or "
347 "the network connection was broken.");
352 if (reply_link ==
NULL)
443 _dbus_pending_call_last_unref (pending);
487 slot, data, free_data_func,
488 &old_free_func, &old_data);
496 (* old_free_func) (old_data);
533 _dbus_return_val_if_fail (pending !=
NULL,
NULL);
538 #ifdef DBUS_HAVE_ATOMIC_INT
562 _dbus_return_if_fail (pending !=
NULL);
567 #ifdef DBUS_HAVE_ATOMIC_INT
578 _dbus_pending_call_last_unref(pending);
597 _dbus_return_val_if_fail (pending !=
NULL,
FALSE);
603 user_data, free_user_data))
631 _dbus_return_if_fail (pending !=
NULL);
649 _dbus_return_val_if_fail (pending !=
NULL,
FALSE);
672 _dbus_return_val_if_fail (pending !=
NULL,
NULL);
678 message = pending->
reply;
704 _dbus_return_if_fail (pending !=
NULL);
726 _dbus_return_val_if_fail (slot_p !=
NULL,
FALSE);
747 _dbus_return_if_fail (slot_p !=
NULL);
748 _dbus_return_if_fail (*slot_p >= 0);
774 _dbus_return_val_if_fail (pending !=
NULL,
FALSE);
775 _dbus_return_val_if_fail (slot >= 0,
FALSE);
798 _dbus_return_val_if_fail (pending !=
NULL,
NULL);
811 #ifdef DBUS_BUILD_TESTS
820 _dbus_pending_call_test (
const char *test_data_dir)