Enlightenment CVS committal

Author  : chaos
Project : e17
Module  : apps/evfs

Dir     : e17/apps/evfs/src/bin


Modified Files:
        evfs_metadata.c 


Log Message:
* Hmm - I seem to have broken this at some stage.  Should be fixed now

===================================================================
RCS file: /cvs/e/e17/apps/evfs/src/bin/evfs_metadata.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -3 -r1.29 -r1.30
--- evfs_metadata.c     20 Aug 2006 04:13:56 -0000      1.29
+++ evfs_metadata.c     28 Aug 2006 12:22:54 -0000      1.30
@@ -734,10 +734,10 @@
 {
        evfs_filereference* ref;
        int status;
+       int ret;
        
        if (!_metadata_fork) {
                ecore_list_goto_first(evfs_metadata_queue);
-
                if ( (ref = ecore_list_current(evfs_metadata_queue))) {
                        /*printf("..item on queue..\n");*/
                        evfs_metadata_extract_fork(ref);
@@ -745,17 +745,23 @@
        } else {
                /*printf("...metadata runner executing..\n");*/
 
-               if ((waitpid(_metadata_fork, &status, WNOHANG) > 0) ||
+               if ((ret = (waitpid(_metadata_fork, &status, WNOHANG) > 0)) ||
                               errno == ECHILD) {
                        _metadata_fork = 0;
 
+                       
                        ecore_list_goto_first(evfs_metadata_queue);
                        ref = ecore_list_current(evfs_metadata_queue);
-                       evfs_cleanup_filereference(ref);
-
-                       ecore_list_remove_first(evfs_metadata_queue);
+                               
+                       if (ref) {
+                               evfs_cleanup_filereference(ref);
+                               ecore_list_remove_first(evfs_metadata_queue);
+                       } else {
+                               printf("EVFS: ugh? no file, and we just 
processed it for meta? : %d\n", getpid());
+                       }
 
-                       /*printf("Execution complete..\n");*/
+               } else {
+                       printf("Fork ret was: %d\n", ret);
                }
        }
        return 1;
@@ -773,6 +779,8 @@
                int file;
                Evas_List* l;
                evfs_meta_obj* o;
+
+               ecore_main_loop_quit();
 
                ret = sqlite3_open(metadata_db, &dbi);
                if( ret ){



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to