Method

GioSocketListeneradd_socket

since: 2.22

Declaration

gboolean
g_socket_listener_add_socket (
  GSocketListener* listener,
  GSocket* socket,
  GObject* source_object,
  GError** error
)

Description

Adds socket to the set of sockets that we try to accept new clients from. The socket must be bound to a local address and listened to.

source_object will be passed out in the various calls to accept to identify this particular source, which is useful if you’re listening on multiple addresses and do different things depending on what address is connected to.

The socket will not be automatically closed when the listener is finalized unless the listener held the final reference to the socket. Before GLib 2.42, the socket was automatically closed on finalization of the listener, even if references to it were held elsewhere.

Available since: 2.22

Parameters

socket

Type: GSocket

A listening GSocket.

The data is owned by the caller of the function.
source_object

Type: GObject

Optional GObject identifying this source.

The argument can be NULL.
The data is owned by the caller of the function.
error

Type: GError **

The return location for a recoverable error.

The argument can be NULL.
If the return location is not NULL, then you must initialize it to a NULL GError*.
The argument will left initialized to NULL by the method if there are no errors.
In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.

Return value

Type: gboolean

TRUE on success, FALSE on error.