Changeset 17 for trunk/slurm_drmaa/job.c


Ignore:
Timestamp:
07/19/11 19:43:25 (14 years ago)
Author:
mmamonski
Message:

propage environment variables to execution host

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/slurm_drmaa/job.c

    r15 r17  
    426426        } 
    427427 
     428        /*  propagate all environment variables from submission host */ 
     429        { 
     430                extern char **environ; 
     431                char **i; 
     432                unsigned j = 0; 
     433 
     434                for ( i = environ; *i; i++) { 
     435                        job_desc->env_size++; 
     436                } 
     437                 
     438                fsd_log_debug(("environ env_size = %d",job_desc->env_size)); 
     439                fsd_calloc(job_desc->environment, job_desc->env_size+1, char *); 
     440                 
     441                for( i = environ;  *i;  i++,j++ ) 
     442                { 
     443                        job_desc->environment[j] = fsd_strdup(*i); 
     444                } 
     445 
     446        } 
     447 
    428448        /* environment */ 
     449         
    429450        vector = jt->get_v_attr( jt, DRMAA_V_ENV ); 
    430451        if( vector ) 
     
    432453                const char *const *i; 
    433454                unsigned j = 0; 
     455                unsigned env_offset = job_desc->env_size; 
    434456 
    435457                for( i = vector;  *i;  i++ ) 
     
    437459                        job_desc->env_size++; 
    438460                } 
    439                 fsd_log_debug(("env_size = %d",job_desc->env_size)); 
     461                fsd_log_debug(("jt env_size = %d",job_desc->env_size)); 
    440462 
    441463                fsd_log_debug(("# environment =")); 
    442                 fsd_calloc(job_desc->environment, job_desc->env_size+1, char *); 
     464                fsd_realloc(job_desc->environment, job_desc->env_size+1, char *); 
    443465 
    444466                for( i = vector;  *i;  i++,j++ ) 
    445467                { 
    446                         job_desc->environment[j] = fsd_strdup(*i); 
    447                         fsd_log_debug((" %s", job_desc->environment[j])); 
     468                        job_desc->environment[j + env_offset] = fsd_strdup(*i); 
     469                        fsd_log_debug((" %s", job_desc->environment[j+ env_offset])); 
    448470                } 
    449471         } 
     
    454476        { 
    455477                job_desc->time_limit = slurmdrmaa_datetime_parse( value ); 
    456                 fsd_log_debug(("# wct_hlimit = %s -> %ld",value,slurmdrmaa_datetime_parse( value ))); 
     478                fsd_log_debug(("# wct_hlimit = %s -> %ld",value, (long int)slurmdrmaa_datetime_parse( value ))); 
    457479        } 
    458480 
Note: See TracChangeset for help on using the changeset viewer.