Ignore:
Timestamp:
Jul 11, 2014, 10:14:03 PM (10 years ago)
Author:
djay
Message:

Inputs passed by reference downloaded in parallel. Conform behavior for DescribeProcess? when the Identifier was not found.

File:
1 edited

Legend:

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

    r490 r492  
    257257#endif
    258258        t=readServiceFile(m,tmps1,&s1,dp->d_name);
     259
    259260        if(t<0){
    260261          dumpMaps(m);
     
    961962        char buff1[1024];
    962963        while(tmps!=NULL){
     964          int hasVal=-1;
    963965          char *corig=strdup(tmps);
    964966          if(strstr(corig,".")!=NULL){
     
    966968            s1=(service*)malloc(SERVICE_SIZE);
    967969            t=readServiceFile(m,buff1,&s1,corig);
     970
    968971            if(t<0){
    969972              map* tmp00=getMapFromMaps(m,"lenv","message");
     
    977980              freeMaps(&m);
    978981              free(m);
     982              free(REQUEST);
    979983              return 1;
    980984            }
     
    989993            setMapInMaps(m,"lenv","level","0");
    990994          }
    991           free(corig);
    992995         
    993996          memset(buff,0,256);
    994           snprintf(buff,256,"%s.zcfg",tmps);
     997          snprintf(buff,256,"%s.zcfg",corig);
     998          free(corig);
    995999          memset(buff1,0,1024);
    9961000#ifdef DEBUG
    9971001          printf("\n#######%s\n########\n",buff);
    9981002#endif
    999           while ((dp = readdir(dirp)) != NULL)
    1000             if( (strcasecmp("all.zcfg",buff)==0 && strstr(dp->d_name,".zcfg")>0)
    1001                 || strcasecmp(dp->d_name,buff)==0 ){
     1003          while ((dp = readdir(dirp)) != NULL){
     1004            if( strcasecmp(dp->d_name,buff)==0 ){
    10021005              memset(buff1,0,1024);
    10031006              snprintf(buff1,1024,"%s/%s",conf_dir,dp->d_name);
     
    10251028                freeMaps(&m);
    10261029                free(m);
     1030                free(orig);
     1031                free(REQUEST);
     1032                closedir(dirp);
     1033                xmlFreeDoc(doc);
    10271034                return 1;
    10281035              }
     
    10351042              s1=NULL;
    10361043              scount++;
     1044              hasVal=1;
    10371045            }
     1046          }
     1047          if(hasVal<0){
     1048            map* tmp00=getMapFromMaps(m,"lenv","message");
     1049            char tmp01[1024];
     1050            if(tmp00!=NULL)
     1051              sprintf(tmp01,_("Unable to parse the ZCFG file: %s (%s)"),buff,tmp00->value);
     1052            else
     1053              sprintf(tmp01,_("Unable to parse the ZCFG file: %s."),buff);
     1054            dup2(saved_stdout,fileno(stdout));
     1055            errorException(m, tmp01,"InvalidParameterValue","Identifier");
     1056            freeMaps(&m);
     1057            free(m);
     1058            free(orig);
     1059            free(REQUEST);
     1060            closedir(dirp);
     1061            xmlFreeDoc(doc);
     1062            return 1;
     1063          }
    10381064          rewinddir(dirp);
    10391065          tmps=strtok_r(NULL,",",&saveptr);
     
    12711297      free(REQUEST);
    12721298      free(SERVICE_URL);
    1273       InternetCloseHandle(hInternet);
     1299      InternetCloseHandle(&hInternet);
    12741300      freeService(&s1);
    12751301      free(s1);
     
    13991425                free(REQUEST);
    14001426                free(SERVICE_URL);
    1401                 InternetCloseHandle(hInternet);
     1427                InternetCloseHandle(&hInternet);
    14021428                freeService(&s1);
    14031429                free(s1);
     
    14071433              fprintf(stderr,"REQUIRE TO DOWNLOAD A FILE FROM A SERVER : url(%s)\n",tmpv1+1);
    14081434#endif
    1409               addToMap(tmpmaps->content,tmpn1,tmpx2);
    1410              
     1435              addToMap(tmpmaps->content,tmpn1,tmpx2);         
    14111436#ifndef WIN32
    14121437              if(CHECK_INET_HANDLE(hInternet))
    14131438#endif
    14141439                {
    1415                   if(loadRemoteFile(&m,&tmpmaps->content,hInternet,tmpx2)<0){
     1440                  if(loadRemoteFile(&m,&tmpmaps->content,&hInternet,tmpx2)<0){
    14161441                    freeMaps(&m);
    14171442                    free(m);
    14181443                    free(REQUEST);
    14191444                    free(SERVICE_URL);
    1420                     InternetCloseHandle(hInternet);
     1445                    InternetCloseHandle(&hInternet);
    14211446                    freeService(&s1);
    14221447                    free(s1);
     
    14451470                free(REQUEST);
    14461471                free(SERVICE_URL);
    1447                 InternetCloseHandle(hInternet);
     1472                InternetCloseHandle(&hInternet);
    14481473                freeService(&s1);
    14491474                free(s1);
     
    15751600                  if(!(ltmp!=NULL && strncmp(ltmp->value,"POST",4)==0)
    15761601                     && CHECK_INET_HANDLE(hInternet)){
    1577                     if(loadRemoteFile(&m,&tmpmaps->content,hInternet,(char*)val)!=0){
     1602                    if(loadRemoteFile(&m,&tmpmaps->content,&hInternet,(char*)val)!=0){
    15781603                      freeMaps(&m);
    15791604                      free(m);
    15801605                      free(REQUEST);
    15811606                      free(SERVICE_URL);
    1582                       InternetCloseHandle(hInternet);
     1607                      InternetCloseHandle(&hInternet);
    15831608                      freeService(&s1);
    15841609                      free(s1);
     
    15971622#endif
    15981623            xmlNodePtr cur3=cur2->children;
    1599             HINTERNET hInternetP;
     1624            /*      HINTERNET hInternetP;
    16001625            hInternetP=InternetOpen(
    16011626#ifndef WIN32
     
    16041629                                   "ZooWPSClient\0",
    16051630                                   INTERNET_OPEN_TYPE_PRECONFIG,
    1606                                    NULL,NULL, 0);
    1607             hInternetP.header=NULL;
     1631                                   NULL,NULL, 0);*/
     1632            //hInternet.ihandle[hInternet.nb].header=NULL;
    16081633            while(cur3!=NULL){
    16091634              while(cur3!=NULL && cur3->type!=XML_ELEMENT_NODE)
     
    16381663                  xmlFree(val);
    16391664                }
    1640                 hInternetP.header=curl_slist_append(hInternetP.header, has);
     1665                hInternet.ihandle[hInternet.nb].header=curl_slist_append(hInternet.ihandle[hInternet.nb].header, has);
    16411666                if(has!=NULL)
    16421667                  free(has);
     
    16751700#ifdef POST_DEBUG
    16761701                    fprintf(stderr,"%s %s\n",btmp->value,tmp);
    1677                     curl_easy_setopt(hInternetP.handle, CURLOPT_VERBOSE, 1);
    1678 #endif
    1679                     res=InternetOpenUrl(hInternetP,btmp->value,tmp,strlen(tmp),
     1702                    curl_easy_setopt(hInternet.handle, CURLOPT_VERBOSE, 1);
     1703#endif
     1704                    hInternet.waitingRequests[hInternet.nb]=strdup(tmp);
     1705                    InternetOpenUrl(&hInternet,btmp->value,hInternet.waitingRequests[hInternet.nb],strlen(hInternet.waitingRequests[hInternet.nb]),
    16801706                                        INTERNET_FLAG_NO_CACHE_WRITE,0);
    1681                     char* tmpContent = (char*)malloc((res.nDataLen+1)*sizeof(char));
    1682                     if(tmpContent == NULL){
    1683                       return errorException(m, _("Unable to allocate memory."), "InternalError",NULL);
    1684                     }
    1685                     size_t dwRead;
    1686                     InternetReadFile(res, (LPVOID)tmpContent,
    1687                                      res.nDataLen, &dwRead);
    1688                     tmpContent[res.nDataLen]=0;
    1689                     if(hInternetP.header!=NULL)
    1690                       curl_slist_free_all(hInternetP.header);
    1691                     addToMap(tmpmaps->content,"value",tmpContent);
    1692                     free(tmpContent);
    1693 #ifdef POST_DEBUG
    1694                     fprintf(stderr,"DL CONTENT : (%s)\n",tmpContent);
    1695 #endif             
    16961707                  }
    16971708                  free(tmp);
     
    17081719                                           INTERNET_OPEN_TYPE_PRECONFIG,
    17091720                                           NULL,NULL, 0);
    1710                     if(!CHECK_INET_HANDLE(bInternet))
     1721                    if(!CHECK_INET_HANDLE(hInternet))
    17111722                      fprintf(stderr,"WARNING : hInternet handle failed to initialize");
    17121723#ifdef POST_DEBUG
    17131724                    curl_easy_setopt(bInternet.handle, CURLOPT_VERBOSE, 1);
    17141725#endif
    1715                     res1=InternetOpenUrl(bInternet,(char*)val,NULL,0,
     1726                    bInternet.waitingRequests[0]=strdup((char*)val);
     1727                    res1=InternetOpenUrl(&bInternet,bInternet.waitingRequests[0],NULL,0,
    17161728                                         INTERNET_FLAG_NO_CACHE_WRITE,0);
     1729                    processDownloads(&bInternet);
    17171730                    char* tmp=
    1718                       (char*)malloc((res1.nDataLen+1)*sizeof(char));
     1731                      (char*)malloc((bInternet.ihandle[0].nDataLen+1)*sizeof(char));
    17191732                    if(tmp == NULL){
    17201733                      return errorException(m, _("Unable to allocate memory."), "InternalError",NULL);
    17211734                    }
    17221735                    size_t bRead;
    1723                     InternetReadFile(res1, (LPVOID)tmp,
    1724                                      res1.nDataLen, &bRead);
    1725                     tmp[res1.nDataLen]=0;
    1726                     InternetCloseHandle(bInternet);
     1736                    InternetReadFile(bInternet.ihandle[0], (LPVOID)tmp,
     1737                                     bInternet.ihandle[0].nDataLen, &bRead);
     1738                    tmp[bInternet.ihandle[0].nDataLen]=0;
     1739                    InternetCloseHandle(&bInternet);
    17271740                    map *btmp=getMap(tmpmaps->content,"href");
    17281741                    if(btmp!=NULL){
    17291742#ifdef POST_DEBUG
    17301743                      fprintf(stderr,"%s %s\n",btmp->value,tmp);
    1731                       curl_easy_setopt(hInternetP.handle, CURLOPT_VERBOSE, 1);
    1732 #endif
    1733                       res=InternetOpenUrl(hInternetP,btmp->value,tmp,
    1734                                           strlen(tmp),
     1744#endif
     1745                      hInternet.waitingRequests[hInternet.nb]=strdup(tmp);
     1746                      res=InternetOpenUrl(&hInternet,btmp->value,hInternet.waitingRequests[hInternet.nb],
     1747                                          strlen(hInternet.waitingRequests[hInternet.nb]),
    17351748                                          INTERNET_FLAG_NO_CACHE_WRITE,0);
    1736                       char* tmpContent = (char*)malloc((res.nDataLen+1)*sizeof(char));
    1737                       if(tmpContent == NULL){
    1738                         return errorException(m, _("Unable to allocate memory."), "InternalError",NULL);
    1739                       }
    1740                       size_t dwRead;
    1741                       InternetReadFile(res, (LPVOID)tmpContent,
    1742                                        res.nDataLen, &dwRead);
    1743                       tmpContent[res.nDataLen]=0;
    1744                       if(hInternetP.header!=NULL)
    1745                         curl_slist_free_all(hInternetP.header);
    1746                       addToMap(tmpmaps->content,"value",tmpContent);
    1747 #ifdef POST_DEBUG
    1748                       fprintf(stderr,"DL CONTENT : (%s)\n",tmpContent);
    1749 #endif
    17501749                    }
     1750                    free(tmp);
    17511751                  }
    17521752              }
    17531753              cur3=cur3->next;
    17541754            }
    1755             InternetCloseHandle(hInternetP);
    17561755#ifdef POST_DEBUG
    17571756            fprintf(stderr,"Header and Body was parsed from Reference \n");
     
    19011900                free(REQUEST);
    19021901                free(SERVICE_URL);
    1903                 InternetCloseHandle(hInternet);
     1902                InternetCloseHandle(&hInternet);
    19041903                freeService(&s1);
    19051904                free(s1);
     
    21482147  }
    21492148 
     2149  runHttpRequests(&m,&request_input_real_format,&hInternet);
    21502150
    21512151  //  if(CHECK_INET_HANDLE(hInternet))
    2152   InternetCloseHandle(hInternet);
     2152  InternetCloseHandle(&hInternet);
    21532153
    21542154#ifdef DEBUG
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