Ignore:
Timestamp:
Jan 9, 2019, 4:11:59 PM (5 years ago)
Author:
djay
Message:

Make this ZOO-Kernel working properly on windows platform again.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/prototype-v0/zoo-project/zoo-kernel/zoo_service_loader.c

    r882 r890  
    340340              if (s1 == NULL)
    341341                {
    342                   dup2 (saved_stdout, fileno (stdout));
     342                  zDup2 (saved_stdout, fileno (stdout));
    343343                  errorException (m, _("Unable to allocate memory"),
    344344                                  "InternalError", NULL);
     
    361361                    sprintf (tmp01, _("Unable to parse the ZCFG file: %s."),
    362362                             dp->d_name);
    363                   dup2 (saved_stdout, fileno (stdout));
     363                  zDup2 (saved_stdout, fileno (stdout));
    364364                  errorException (m, tmp01, "InternalError", NULL);
    365365                  return -1;
     
    11011101      char tmp1[13];
    11021102      sprintf (tmp1, "LC_ALL=%s", tmp);
    1103       putenv (tmp1);
     1103      _putenv (tmp1);
    11041104#endif
    11051105      free (tmp);
     
    11131113      char tmp1[13];
    11141114      sprintf (tmp1, "LC_ALL=en_US");
    1115       putenv (tmp1);
     1115      _putenv (tmp1);
    11161116#endif
    11171117      setMapInMaps (m, "main", "language", "en-US");
     
    11231123  char tmp1[17];
    11241124  sprintf (tmp1, "LC_NUMERIC=C");
    1125   putenv (tmp1);
     1125  _putenv (tmp1);
    11261126#endif
    11271127  bind_textdomain_codeset ("zoo-kernel", "UTF-8");
     
    13061306  registry* zooRegistry=NULL;
    13071307  if(reg!=NULL){
    1308     int saved_stdout = dup (fileno (stdout));
    1309     dup2 (fileno (stderr), fileno (stdout));
     1308    int saved_stdout = zDup (fileno (stdout));
     1309    zDup2 (fileno (stderr), fileno (stdout));
    13101310    if(createRegistry (m,&zooRegistry,reg->value)<0){
    13111311      map *message=getMapFromMaps(m,"lenv","message");
    13121312      map *type=getMapFromMaps(m,"lenv","type");
    1313       dup2 (saved_stdout, fileno (stdout));
     1313      zDup2 (saved_stdout, fileno (stdout));
    13141314      errorException (m, message->value,
    13151315                      type->value, NULL);
    13161316      return 0;
    13171317    }
    1318     dup2 (saved_stdout, fileno (stdout));
    1319     close(saved_stdout);
     1318    zDup2 (saved_stdout, fileno (stdout));
     1319    zClose(saved_stdout);
    13201320  }
    13211321
     
    13311331       * has been found in the zcfg and then printed on stdout
    13321332       */
    1333       int saved_stdout = dup (fileno (stdout));
    1334       dup2 (fileno (stderr), fileno (stdout));
     1333      int saved_stdout = zDup (fileno (stdout));
     1334      zDup2 (fileno (stderr), fileno (stdout));
    13351335
    13361336      maps* imports = getMaps(m, IMPORTSERVICE);
     
    13711371        }
    13721372      fflush (stdout);
    1373       dup2 (saved_stdout, fileno (stdout));
     1373      zDup2 (saved_stdout, fileno (stdout));
    13741374#ifdef META_DB
    13751375      fetchServicesFromDb(zooRegistry,m,doc,n,printGetCapabilitiesForProcess,1);
    13761376      close_sql(m,0);
    13771377#endif     
    1378       printDocument (m, doc, getpid ());
     1378      printDocument (m, doc, zGetpid ());
    13791379      freeMaps (&m);
    13801380      free (m);
     
    14661466            char *orig = zStrdup (r_inputs->value);
    14671467
    1468             int saved_stdout = dup (fileno (stdout));
    1469             dup2 (fileno (stderr), fileno (stdout));
     1468            int saved_stdout = zDup (fileno (stdout));
     1469            zDup2 (fileno (stderr), fileno (stdout));
    14701470            if (strcasecmp ("all", orig) == 0)
    14711471              {
     
    15351535                                sprintf (tmp01, _("Unable to parse the ZCFG file: %s."), import->value);
    15361536                             
    1537                               dup2 (saved_stdout, fileno (stdout));
     1537                              zDup2 (saved_stdout, fileno (stdout));
    15381538                              errorException (m, tmp01, "InternalError", NULL);
    15391539                             
     
    16021602                                       ("Unable to parse the ZCFG file for the following ZOO-Service: %s."),
    16031603                                       tmps);
    1604                             dup2 (saved_stdout, fileno (stdout));
     1604                            zDup2 (saved_stdout, fileno (stdout));
    16051605                            errorException (m, tmp01, "InvalidParameterValue",
    16061606                                            "identifier");
     
    16741674                                  if (s1 == NULL)
    16751675                                    {
    1676                                       dup2 (saved_stdout, fileno (stdout));
     1676                                      zDup2 (saved_stdout, fileno (stdout));
    16771677                                      return errorException (m,
    16781678                                                             _
     
    17051705                                                 ("Unable to parse the ZCFG file: %s."),
    17061706                                                 dp->d_name);
    1707                                       dup2 (saved_stdout, fileno (stdout));
     1707                                      zDup2 (saved_stdout, fileno (stdout));
    17081708                                      errorException (m, tmp01, "InternalError",
    17091709                                                      NULL);
     
    17571757                                   _("Unable to parse the ZCFG file: %s."),
    17581758                                   buff);
    1759                         dup2 (saved_stdout, fileno (stdout));
     1759                        zDup2 (saved_stdout, fileno (stdout));
    17601760                        errorException (m, tmp01, "InvalidParameterValue",
    17611761                                        "Identifier");
     
    17821782            closedir (dirp);
    17831783            fflush (stdout);
    1784             dup2 (saved_stdout, fileno (stdout));
     1784            zDup2 (saved_stdout, fileno (stdout));
    17851785            free (orig);
    1786             printDocument (m, doc, getpid ());
     1786            printDocument (m, doc, zGetpid ());
    17871787            freeMaps (&m);
    17881788            free (m);
     
    19421942      }
    19431943
    1944     int saved_stdout = dup (fileno (stdout));
    1945     dup2 (fileno (stderr), fileno (stdout));
     1944    int saved_stdout = zDup (fileno (stdout));
     1945    zDup2 (fileno (stderr), fileno (stdout));
    19461946    t = readServiceFile (m, tmps1, &s1, r_inputs->value);
    19471947    fprintf(stderr,"%d %s %d",t,__FILE__,__LINE__);
     
    19581958    }
    19591959    fflush (stdout);
    1960     dup2 (saved_stdout, fileno (stdout));
     1960    zDup2 (saved_stdout, fileno (stdout));
    19611961    if (t < 0)
    19621962      {
     
    19751975        return 0;
    19761976      }
    1977     close (saved_stdout);
     1977    zClose (saved_stdout);
    19781978#ifdef META_DB
    19791979  }
     
    20582058                     2) * sizeof (char));
    20592059          sprintf (toto, "%s=%s", mapcs->name, mapcs->value);
    2060           putenv (toto);
     2060          _putenv (toto);
    20612061#ifdef DEBUG
    20622062          fflush (stderr);
     
    21552155
    21562156  int eres = SERVICE_STARTED;
    2157   int cpid = getpid ();
     2157  int cpid = zGetpid ();
    21582158
    21592159  // Create a map containing a copy of the request map
     
    22412241          if (istat == 0 && file_status.st_size > 0)
    22422242            {
    2243               int saved_stdout = dup (fileno (stdout));
    2244               dup2 (fileno (stderr), fileno (stdout));
     2243              int saved_stdout = zDup (fileno (stdout));
     2244              zDup2 (fileno (stderr), fileno (stdout));
    22452245              conf_read (session_file_path, tmpSess);
    22462246              addMapsToMaps (&m, tmpSess);
    22472247              freeMaps (&tmpSess);
    22482248              fflush(stdout);
    2249               dup2 (saved_stdout, fileno (stdout));
    2250               close(saved_stdout);
     2249              zDup2 (saved_stdout, fileno (stdout));
     2250              zClose(saved_stdout);
    22512251            }
    22522252          free (tmpSess);
     
    22712271
    22722272  _tmpMaps = createMaps("renv");
    2273   for (; s; ei++) {
     2273if(orig!=NULL)
     2274  for (;
     2275#ifdef WIN32
     2276       *s;
     2277       s++
     2278#else
     2279       s;
     2280       ei++
     2281#endif
     2282       ) {
    22742283    if(strstr(s,"=")!=NULL && strlen(strstr(s,"="))>1){
    22752284      int len=strlen(s);
     
    22852294      free(tmpName);
    22862295    }
    2287 #ifdef WIN32
    2288     s++;
    2289 #else
     2296#ifndef WIN32
    22902297    s = *(orig+ei);
    22912298#endif
     
    22972304  freeMaps (&_tmpMaps);
    22982305  free (_tmpMaps);
    2299  
     2306#ifdef WIN32
     2307  FreeEnvironmentStrings((LPCH)orig);
     2308#endif
    23002309  if(postRequest!=NULL)
    23012310    setMapInMaps (m, "renv", "xrequest", postRequest->value);
     
    23892398#ifdef DEBUG
    23902399          fprintf (stderr, "father pid continue (origin %d) %d ...\n", cpid,
    2391                    getpid ());
     2400                   zGetpid ());
    23922401#endif
    23932402          eres = SERVICE_ACCEPTED;
     
    24172426          bmap->content=createMap("usid",usid->value);
    24182427          addToMap(bmap->content,"sid",tmpm->value);
    2419           addIntToMap(bmap->content,"pid",getpid());
     2428          addIntToMap(bmap->content,"pid",zGetpid());
    24202429         
    24212430          // Create PID file referencing the OS process identifier
     
    24282437
    24292438          f0 = freopen (fbkpid, "w+",stdout);
    2430           printf("%d",getpid());
     2439          printf("%d",zGetpid());
    24312440          fflush(stdout);
    24322441
     
    24602469          fprintf (stderr, "RUN IN BACKGROUND MODE \n");
    24612470          fprintf (stderr, "son pid continue (origin %d) %d ...\n", cpid,
    2462                    getpid ());
     2471                   zGetpid ());
    24632472          fprintf (stderr, "\nFILE TO STORE DATA %s\n", r_inputs->value);
    24642473#endif
     
    25392548#endif
    25402549#endif
    2541             unlink (fbkpid);
     2550            zUnlink (fbkpid);
    25422551            unhandleStatus (m);
    25432552#ifdef RELY_ON_DB
     
    26172626#endif
    26182627
    2619   if (((int) getpid ()) != cpid || cgiSid != NULL)
     2628  if (((int) zGetpid ()) != cpid || cgiSid != NULL)
    26202629    {
    26212630      if (eres == SERVICE_SUCCEEDED)
     
    26332642      if(dumpBackFinalFile(m,fbkp,fbkp1)<0)
    26342643        return -1;
    2635       unlink (fbkpid);
     2644      zUnlink (fbkpid);
    26362645      switch(eres){
    26372646      default:
     
    26572666      freeMaps(&bmap);
    26582667      free(bmap);
    2659       unlink (fbkp1);
     2668      zUnlink (fbkp1);
    26602669      unhandleStatus (m);
    26612670#ifdef RELY_ON_DB
     
    26762685      fflush(stderr);
    26772686      fclose (stderr);
    2678       unlink (flog);
     2687      zUnlink (flog);
    26792688      free (flog);
    26802689    }
     
    27052714#endif
    27062715
    2707   if (((int) getpid ()) != cpid || cgiSid != NULL)
     2716  if (((int) zGetpid ()) != cpid || cgiSid != NULL)
    27082717    {
    27092718      exit (0);
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