Ignore:
Timestamp:
Oct 8, 2014, 11:38:12 AM (10 years ago)
Author:
djay
Message:

Add concurrency gesture for background services. Fix tickets #102 and #103.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/zoo-project/zoo-kernel/zoo_service_loader.c

    r504 r507  
    26292629       * process answer to http client.
    26302630       */
     2631#ifndef WIN32
     2632      zSleep(1);
     2633#endif
    26312634      r_inputs=getMapFromMaps(m,"main","tmpPath");
    26322635      map* r_inputs1=getMap(s1->content,"ServiceProvider");
     
    26412644#endif
    26422645      freopen(flog, "w+", stderr);
     2646      semid lid=getShmLockId(m,1);
     2647      fflush(stderr);
     2648      if(lid<0){
     2649        fprintf(stderr,"ERROR %s %d\n",__FILE__,__LINE__);
     2650        fflush(stderr);
     2651        return -1;
     2652      }
     2653      else{
     2654        if(lockShm(lid)<0){
     2655          fprintf(stderr,"ERROR %s %d\n",__FILE__,__LINE__);
     2656          fflush(stderr);
     2657          return -1;
     2658        }
     2659        fflush(stderr);
     2660      }
    26432661      f0=freopen(fbkp , "w+", stdout);
     2662      rewind(stdout);
    26442663#ifndef WIN32
    26452664      fclose(stdin);
     
    26542673      printProcessResponse(m,request_inputs,cpid,s1,r_inputs1->value,SERVICE_STARTED,
    26552674                           request_input_real_format,request_output_real_format);
    2656 #ifndef WIN32
    26572675      fflush(stdout);
    2658       rewind(stdout);
    2659 #else
    2660 #endif
     2676      unlockShm(lid);
     2677      fflush(stderr);
    26612678      fbkp1=(char*)malloc((strlen(r_inputs->value)+strlen(r_inputs1->value)+1024)*sizeof(char));
    26622679      sprintf(fbkp1,"%s/%s_final_%d.xml",r_inputs->value,r_inputs1->value,cpid);
     
    26972714    fclose(stdout);
    26982715    fclose(stderr);
    2699     unhandleStatus(m);
    27002716    /**
    27012717     * Dump back the final file fbkp1 to fbkp
     
    27042720    fclose(f1);
    27052721    FILE* f2=fopen(fbkp1,"rb");
     2722    semid lid=getShmLockId(m,1);
     2723    if(lid<0)
     2724      return -1;
     2725    lockShm(lid);
    27062726    FILE* f3=fopen(fbkp,"wb+");
    27072727    free(fbkp);
     
    27142734    fclose(f2);
    27152735    fclose(f3);
     2736    unlockShm(lid);
    27162737    unlink(fbkp1);
    27172738    free(fbkp1);
    27182739    free(tmps1);
     2740    unhandleStatus(m);
    27192741  }
    27202742
Note: See TracChangeset for help on using the changeset viewer.

Search

Context Navigation

ZOO Sponsors

http://www.zoo-project.org/trac/chrome/site/img/geolabs-logo.pnghttp://www.zoo-project.org/trac/chrome/site/img/neogeo-logo.png http://www.zoo-project.org/trac/chrome/site/img/apptech-logo.png http://www.zoo-project.org/trac/chrome/site/img/3liz-logo.png http://www.zoo-project.org/trac/chrome/site/img/gateway-logo.png

Become a sponsor !

Knowledge partners

http://www.zoo-project.org/trac/chrome/site/img/ocu-logo.png http://www.zoo-project.org/trac/chrome/site/img/gucas-logo.png http://www.zoo-project.org/trac/chrome/site/img/polimi-logo.png http://www.zoo-project.org/trac/chrome/site/img/fem-logo.png http://www.zoo-project.org/trac/chrome/site/img/supsi-logo.png http://www.zoo-project.org/trac/chrome/site/img/cumtb-logo.png

Become a knowledge partner

Related links

http://zoo-project.org/img/ogclogo.png http://zoo-project.org/img/osgeologo.png