Merge commit 'scormi3/master'
[cascardo/gnio.git] / test / test-server.c
index 71c7bb1..24ff123 100644 (file)
@@ -60,14 +60,19 @@ int main (int argc, char *argv[])
 
        loop = g_main_loop_new (NULL, FALSE);
 
-       socket = g_socket_new (G_SOCKET_DOMAIN_INET, G_SOCKET_TYPE_STREAM, NULL, NULL);
+       socket = g_socket_new (G_SOCKET_DOMAIN_INET, G_SOCKET_TYPE_STREAM, NULL);
+
+       g_socket_set_reuse_address (socket, TRUE);
 
        if (!g_socket_bind (socket, G_SOCKET_ADDRESS (g_inet_socket_address_new (G_INET_ADDRESS (g_inet4_address_from_string ("127.0.0.1")), 31882)), &error)) {
                g_error (error->message);
                return 0;
        }
 
-       g_socket_listen (socket, 10);
+       if (!g_socket_listen (socket, &error)) {
+               g_error (error->message);
+               return 0;
+       }
 
        g_print ("listening on port 31882...\n");
 
@@ -99,7 +104,7 @@ int main (int argc, char *argv[])
                if (size == 0)
                        break;
 
-               g_print ("received %d bytes of data: %s\n", size, buffer);
+               g_print ("received %" G_GSSIZE_FORMAT " bytes of data: %s\n", size, buffer);
 
                if ((size = g_socket_send (new_socket, buffer, size, &error)) < 0) {
                        g_error (error->message);
@@ -112,5 +117,11 @@ int main (int argc, char *argv[])
 
        g_print ("connection closed\n");
 
+       g_object_unref (G_OBJECT (new_socket));
+
+       g_socket_close (socket);
+
+       g_object_unref (G_OBJECT (socket));
+
        return 0;
 }