Enlightenment CVS committal

Author  : chaos
Project : e17
Module  : apps/evfs

Dir     : e17/apps/evfs/src/lib


Modified Files:
        libevfs.c 


Log Message:
* Total rework of server architecture.  Few rough edges still, but it passed 
the torture test.  Server now instantiates a new worker process for each 
client.  Cleaner, more secure, and certain elements that shall remain nameless 
(*cough* samba) - need it for auth.

===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/lib/libevfs.c,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -3 -r1.52 -r1.53
--- libevfs.c   28 Jul 2007 08:20:50 -0000      1.52
+++ libevfs.c   11 Aug 2007 10:39:03 -0000      1.53
@@ -67,6 +67,8 @@
                   if (client->id == MAX_CLIENT)
                     {
                        memcpy(&client->id, e->data, sizeof(unsigned long));
+
+                      /*printf("Assigned ID: %d\n", client->id);*/
                     }
                   else
                     {
@@ -101,8 +103,11 @@
                        conn->prog_event = NEW(evfs_event);
                     }
 
+                 /*printf("Got client message: %d %d %d %d %d\n", e->major, 
e->minor, e->ref, e->ref_to, e->response);*/
+
                   if (evfs_read_event(conn->prog_event, msg))
                     {
+                           
                        /*True return == Event fully read */
 
                        /*Execute callback if registered.. */
@@ -130,7 +135,7 @@
              else
                {
                   fprintf(stderr,
-                          "EVFS: Could not find connection for clientId\n");
+                          "EVFS: Could not find connection for clientId: 
%d\n", e->ref);
                }
           }
      }
@@ -207,7 +212,7 @@
 
    if (!
        (connection->server =
-        ecore_ipc_server_connect(ECORE_IPC_LOCAL_USER, EVFS_IPC_TITLE, 0,
+        ecore_ipc_server_connect(ECORE_IPC_LOCAL_USER, EVFS_IPC_TITLE,0,
                                  connection)))
      {
         fprintf(stderr,
@@ -228,6 +233,13 @@
 
      } else {
             ecore_hash_set(evfs_session_servers, connection->server, (int*)1);
+
+            while (connection->id == MAX_CLIENT) {
+                       /*printf("Waiting for connection id..\n");*/
+                       ecore_main_loop_iterate();
+            }
+            /*printf("Got connection ID: %d\n", connection->id);*/
+            
      }
 
    return connection;



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to