Add max_threads argument to g_threaded_socket_service_new
authorAlexander Larsson <alexl@redhat.com>
Mon, 18 May 2009 06:47:10 +0000 (08:47 +0200)
committerAlexander Larsson <alexl@redhat.com>
Mon, 18 May 2009 06:47:49 +0000 (08:47 +0200)
gio/gthreadedsocketservice.c
gio/gthreadedsocketservice.h
gio/tests/echo-server.c
gio/tests/httpd.c

index 182d1b1..68e0061 100644 (file)
@@ -201,12 +201,14 @@ g_threaded_socket_service_class_init (GThreadedSocketServiceClass *class)
 /**
  * g_threaded_socket_service_new:
  * @returns: a new #GSocketService.
+ * @max_threads: the maximal number of threads to execute concurrently
+ *   handling incomming clients, -1 means no limit
  *
  * Creates a new #GThreadedSocketService with no listeners.  Listeners
  * must be added with g_socket_service_add_listeners().
  **/
 GSocketService *
-g_threaded_socket_service_new (void)
+g_threaded_socket_service_new (int max_threads)
 {
   return g_object_new (G_TYPE_THREADED_SOCKET_SERVICE, NULL);
 }
index 209f83c..f947090 100644 (file)
@@ -74,7 +74,7 @@ struct _GThreadedSocketService
 };
 
 GType                   g_threaded_socket_service_get_type              (void);
-GSocketService *        g_threaded_socket_service_new                   (void);
+GSocketService *        g_threaded_socket_service_new                   (int max_threads);
 
 G_END_DECLS
 
index 1aa3166..7e05510 100644 (file)
@@ -53,7 +53,7 @@ main (int argc, char *argv[])
       return 1;
     }
 
-  service = g_threaded_socket_service_new ();
+  service = g_threaded_socket_service_new (10);
 
   if (!g_socket_listener_add_inet_port (G_SOCKET_LISTENER (service),
                                        port,
index 6ad0b43..25a2454 100644 (file)
@@ -164,7 +164,7 @@ main (int argc, char *argv[])
 
   root = g_strdup (argv[1]);
 
-  service = g_threaded_socket_service_new ();
+  service = g_threaded_socket_service_new (10);
   if (!g_socket_listener_add_inet_port (G_SOCKET_LISTENER (service),
                                        port,
                                        NULL,