mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2025-12-28 21:20:10 +01:00
* dbus/dbus-transport-unix.c (unix_do_iteration): only do the reading/writing if read_watch != NULL or write_watch != NULL. * dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix the message loader code to actually load message->header and message->body into the newly-created message. * dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak in OOM case * dbus/dbus-connection.c (dbus_connection_set_max_message_size) (dbus_connection_get_max_message_size) (dbus_connection_set_max_live_messages_size) (dbus_connection_get_max_live_messages_size): implement some resource limitation functions * dbus/dbus-resources.c: new file implementing some of the resource limits stuff * dbus/dbus-message.c (dbus_message_iter_get_byte_array): add missing docs, add @todo to handle OOM etc. * dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing docs
51 lines
1.1 KiB
C
51 lines
1.1 KiB
C
#include <dbus/dbus.h>
|
|
#include <stdio.h>
|
|
#include "watch.h"
|
|
|
|
static void
|
|
new_connection_callback (DBusServer *server,
|
|
DBusConnection *new_connection,
|
|
void *data)
|
|
{
|
|
printf ("Got new connection\n");
|
|
|
|
dbus_connection_set_max_live_messages_size (new_connection,
|
|
10);
|
|
|
|
setup_connection (new_connection);
|
|
}
|
|
|
|
int
|
|
main (int argc,
|
|
char **argv)
|
|
{
|
|
DBusServer *server;
|
|
DBusResultCode result;
|
|
|
|
if (argc < 2)
|
|
{
|
|
fprintf (stderr, "Give the server address as an argument\n");
|
|
return 1;
|
|
}
|
|
|
|
server = dbus_server_listen (argv[1], &result);
|
|
if (server == NULL)
|
|
{
|
|
fprintf (stderr, "Failed to start server on %s: %s\n",
|
|
argv[1], dbus_result_to_string (result));
|
|
return 1;
|
|
}
|
|
|
|
setup_server (server);
|
|
|
|
dbus_server_set_new_connection_function (server,
|
|
new_connection_callback,
|
|
NULL, NULL);
|
|
|
|
do_mainloop ();
|
|
|
|
dbus_server_disconnect (server);
|
|
dbus_server_unref (server);
|
|
|
|
return 0;
|
|
}
|