Skip to content

Commit 3bd2dac

Browse files
add code to handel char **
so epilog/prolog//prolog_slurmctld/epilog_slurmctld working again
1 parent 6ed4b5c commit 3bd2dac

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

pyslurm/pyslurm.pyx

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,15 @@ cdef inline listOrNone(char* value, sep_char):
131131

132132
return value.decode("UTF_8", "replace").split(sep_char)
133133

134+
cdef inline listOfStrings(char **value):
135+
l = []
136+
i = 0
137+
if value != NULL:
138+
while value[i] != NULL:
139+
l.append(stringOrNone(value[i], ''))
140+
i += 1
141+
142+
return(tuple(l))
134143

135144
cdef inline stringOrNone(char* value, value2):
136145
if value is NULL:
@@ -635,9 +644,9 @@ cdef class config:
635644
Ctl_dict['dependency_params'] = stringOrNone(self.__Config_ptr.dependency_params, '')
636645
Ctl_dict['eio_timeout'] = self.__Config_ptr.eio_timeout
637646
Ctl_dict['enforce_part_limits'] = bool(self.__Config_ptr.enforce_part_limits)
638-
# HvB Ctl_dict['epilog'] = stringOrNone(self.__Config_ptr.epilog, '')
647+
Ctl_dict['epilog'] = listOfStrings(self.__Config_ptr.epilog)
639648
Ctl_dict['epilog_msg_time'] = self.__Config_ptr.epilog_msg_time
640-
# HvB Ctl_dict['epilog_slurmctld'] = stringOrNone(self.__Config_ptr.epilog_slurmctld, '')
649+
Ctl_dict['epilog_slurmctld'] = listOfStrings(self.__Config_ptr.epilog_slurmctld)
641650
Ctl_dict['federation_parameters'] = stringOrNone(self.__Config_ptr.fed_params, '')
642651
Ctl_dict['first_job_id'] = self.__Config_ptr.first_job_id
643652
Ctl_dict['fs_dampening_factor'] = self.__Config_ptr.fs_dampening_factor
@@ -725,9 +734,9 @@ cdef class config:
725734
Ctl_dict['private_data'] = self.__Config_ptr.private_data
726735
Ctl_dict['private_data_list'] = get_private_data_list(self.__Config_ptr.private_data)
727736
Ctl_dict['priority_weight_tres'] = stringOrNone(self.__Config_ptr.priority_weight_tres, '')
728-
# HvB Ctl_dict['prolog'] = stringOrNone(self.__Config_ptr.prolog, '')
737+
Ctl_dict['prolog'] = listOfStrings(self.__Config_ptr.prolog)
729738
Ctl_dict['prolog_epilog_timeout'] = int16orNone(self.__Config_ptr.prolog_epilog_timeout)
730-
# HvB Ctl_dict['prolog_slurmctld'] = stringOrNone(self.__Config_ptr.prolog_slurmctld, '')
739+
Ctl_dict['prolog_slurmctld'] = listOfStrings(self.__Config_ptr.prolog_slurmctld)
731740
Ctl_dict['propagate_prio_process'] = self.__Config_ptr.propagate_prio_process
732741
Ctl_dict['prolog_flags'] = self.__Config_ptr.prolog_flags
733742
Ctl_dict['propagate_rlimits'] = stringOrNone(self.__Config_ptr.propagate_rlimits, '')

0 commit comments

Comments
 (0)