diff --git a/#ubl-settings-resourcequota.glade# b/#ubl-settings-resourcequota.glade# new file mode 100644 index 0000000..1715caf --- /dev/null +++ b/#ubl-settings-resourcequota.glade# @@ -0,0 +1,4224 @@ + + + + + + + False + False + True + center + com.ublinux.ubl-settings-resourcequota + dialog + True + ubl-settings-resourcequota + 1.0 + Copyright © 2022 - 2023, UBSoft LLC + CPU and RAM quotas + https://wiki.ublinux.ru/ru/Программное_обеспечение/Программы_и_утилиты/Все/ubl-settings-resourcequota + Project Home Page + Это приложение распространяется без каких-либо гарантий. +Подробнее в <a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU General Public License, версии 2 или позднее</a>. + UBGroup + UBGroup + com.ublinux.ubl-settings-resourcequota + True + gpl-2-0 + + + True + False + vertical + 2 + + + False + end + + + False + False + 1 + + + + + + + + + + True + False + True + + + True + False + 5 + 5 + 5 + 5 + 2 + ubl-settings-resourcequota + + + + + + + + + + True + False + center + + + 90 + True + False + 5 + 5 + 5 + 5 + 6 + 6 + 64 + com.ublinux.ubl-settings-resourcequota + + + False + True + 0 + + + + + True + False + + + True + False + + + True + False + vertical + + + 255 + True + False + end + CPU and RAM quotas + 0 + + + + + + + + True + True + 0 + + + + + 255 + True + False + start + 5 + 5 + Configuring CPU and RAM quota settings for groups and users of the system + True + 0 + + + + + + + + True + True + 1 + + + + + False + True + 0 + + + + + True + True + 0 + + + + + True + True + 1 + + + + + 100 + 1 + 10 + + + 100 + 1 + 10 + + + 100 + 1 + 10 + + + 100 + 1 + 10 + + + 100 + 1 + 10 + + + 100 + 1 + 10 + + + False + start + False + com.ublinux.ubl-settings-resourcequota + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + vertical + + + True + False + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + Quota object + + + False + True + 0 + + + + + 100 + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0 + 0 + + User + Process + Slice + + + + True + True + 1 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + + + False + True + 2 + + + + + False + True + 0 + + + + + True + False + vertical + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0.019999999552965164 + in + + + True + False + 5 + + + True + False + + + True + False + vertical + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + Soft Restriction + 0 + + + False + True + 0 + + + + + True + False + + + True + True + False + 5 + 5 + 5 + 5 + 5 + 5 + True + + + False + True + 0 + + + + + True + True + 5 + 5 + 5 + 5 + 5 + 5 + 7 + a1 + + + False + True + 1 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0 + 0 + + Kb + Mb + Gb + Tb + + + + False + True + 2 + + + + + False + True + 1 + + + + + True + True + 0 + + + + + True + False + vertical + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + Severe Restriction + 0 + + + False + True + 0 + + + + + True + False + + + True + True + False + 5 + 5 + 5 + 5 + 5 + 5 + True + + + False + True + 0 + + + + + True + True + 5 + 5 + 5 + 5 + 5 + 5 + 7 + a2 + + + False + True + 1 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0 + 0 + + Kb + Mb + Gb + Tb + + + + False + True + 2 + + + + + False + True + 1 + + + + + True + True + 1 + + + + + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + RAM limit + + + + + False + True + 0 + + + + + True + False + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0.019999999552965164 + in + + + True + False + 5 + + + True + False + + + True + True + False + 5 + 5 + 5 + 5 + 5 + 5 + True + + + False + True + 0 + + + + + True + True + 5 + 5 + 5 + 5 + 5 + 5 + 7 + a3 + + + False + True + 1 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0 + 0 + + Kb + Mb + Gb + Tb + + + + False + True + 2 + + + + + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + Paging file limit + + + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0.019999999552965164 + in + + + True + False + 5 + + + True + False + + + True + True + False + 5 + 5 + 5 + 5 + 5 + 5 + True + + + False + True + 0 + + + + + True + True + 5 + 5 + 5 + 5 + 5 + 5 + 7 + a4 + + + False + True + 1 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + % + + + False + True + 2 + + + + + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + CPU limit + + + + + True + True + 1 + + + + + False + True + 1 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0.019999999552965164 + in + + + True + False + 5 + + + True + False + vertical + + + True + False + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + Device: + 0 + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + + + True + True + 1 + + + + + False + True + 0 + + + + + True + False + + + True + False + vertical + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + Read + 0 + + + False + True + 0 + + + + + True + False + + + True + True + False + 5 + 5 + 5 + 5 + 5 + 5 + True + + + False + True + 0 + + + + + True + True + 5 + 5 + 5 + 5 + 5 + 5 + 7 + a5 + + + False + True + 1 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0 + 0 + + Kb + Mb + Gb + Tb + + + + False + True + 2 + + + + + False + True + 1 + + + + + True + True + 0 + + + + + True + False + vertical + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + Write + 0 + + + False + True + 0 + + + + + True + False + + + True + True + False + 5 + 5 + 5 + 5 + 5 + 5 + True + + + False + True + 0 + + + + + True + True + 5 + 5 + 5 + 5 + 5 + 5 + 7 + a6 + + + False + True + 1 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0 + 0 + + Kb + Mb + Gb + Tb + + + + False + True + 2 + + + + + False + True + 1 + + + + + True + True + 1 + + + + + False + True + 1 + + + + + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + Input/Output limit of block devices + + + + + False + True + 2 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0.019999999552965164 + in + + + True + False + 5 + + + True + True + 5 + 5 + 5 + 5 + 5 + 5 + + + + + + + True + False + Manual input (for advanced users) + + + + + False + True + 3 + + + + + False + True + 1 + + + + + True + False + + + True + False + + + False + True + 0 + + + + + True + True + True + 5 + 5 + 5 + 5 + 5 + 5 + + + True + False + + + True + False + gtk-stop + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + Cancel + + + False + True + 1 + + + + + + + False + True + end + 1 + + + + + True + True + True + 5 + 5 + 5 + 5 + 5 + 5 + + + True + False + + + True + False + gtk-save + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + Save + + + False + True + 1 + + + + + + + False + True + end + 1 + + + + + False + True + 2 + + + + + + + True + False + True + + + True + False + Settings quotas - Adding + + + + + + + + True + False + 32 + com.ublinux.ubl-settings-resourcequota + 5 + + + + + + + False + start + False + com.ublinux.ubl-settings-resourcequota + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + vertical + + + True + False + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + Quota object + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + + + False + True + 1 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + + + False + True + 2 + + + + + False + True + 0 + + + + + True + False + vertical + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0.019999999552965164 + in + + + True + False + 5 + + + True + False + + + True + False + vertical + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + Soft Restriction + 0 + + + False + True + 0 + + + + + True + False + + + True + True + False + 5 + 5 + 5 + 5 + 5 + 5 + True + + + False + True + 0 + + + + + True + True + 5 + 5 + 5 + 5 + 5 + 5 + 7 + a1 + + + False + True + 1 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0 + 0 + + Kb + Mb + Gb + Tb + + + + False + True + 2 + + + + + False + True + 1 + + + + + True + True + 0 + + + + + True + False + vertical + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + Severe Restriction + 0 + + + False + True + 0 + + + + + True + False + + + True + True + False + 5 + 5 + 5 + 5 + 5 + 5 + True + + + False + True + 0 + + + + + True + True + 5 + 5 + 5 + 5 + 5 + 5 + 7 + a2 + + + False + True + 1 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0 + 0 + + Kb + Mb + Gb + Tb + + + + False + True + 2 + + + + + False + True + 1 + + + + + True + True + 1 + + + + + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + RAM limit + + + + + False + True + 0 + + + + + True + False + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0.019999999552965164 + in + + + True + False + 5 + + + True + False + + + True + True + False + 5 + 5 + 5 + 5 + 5 + 5 + True + + + False + True + 0 + + + + + True + True + 5 + 5 + 5 + 5 + 5 + 5 + 7 + a3 + + + False + True + 1 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0 + 0 + + Kb + Mb + Gb + Tb + + + + False + True + 2 + + + + + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + Paging file limit + + + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0.019999999552965164 + in + + + True + False + 5 + + + True + False + + + True + True + False + 5 + 5 + 5 + 5 + 5 + 5 + True + + + False + True + 0 + + + + + True + True + 5 + 5 + 5 + 5 + 5 + 5 + 7 + a4 + + + False + True + 1 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + % + + + False + True + 2 + + + + + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + CPU limit + + + + + True + True + 1 + + + + + False + True + 1 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0.019999999552965164 + in + + + True + False + 5 + + + True + False + vertical + + + True + False + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + Device: + 0 + + + False + True + 0 + + + + + True + True + False + 5 + 5 + 5 + 5 + 5 + 5 + + + True + True + 1 + + + + + False + True + 0 + + + + + True + False + + + True + False + vertical + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + Read + 0 + + + False + True + 0 + + + + + True + False + + + True + True + False + 5 + 5 + 5 + 5 + 5 + 5 + True + + + False + True + 0 + + + + + True + True + 5 + 5 + 5 + 5 + 5 + 5 + 7 + a5 + + + False + True + 1 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0 + 0 + + Kb + Mb + Gb + Tb + + + + False + True + 2 + + + + + False + True + 1 + + + + + True + True + 0 + + + + + True + False + vertical + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + Write + 0 + + + False + True + 0 + + + + + True + False + + + True + True + False + 5 + 5 + 5 + 5 + 5 + 5 + True + + + False + True + 0 + + + + + True + True + 5 + 5 + 5 + 5 + 5 + 5 + 7 + a6 + + + False + True + 1 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0 + 0 + + Kb + Mb + Gb + Tb + + + + False + True + 2 + + + + + False + True + 1 + + + + + True + True + 1 + + + + + False + True + 1 + + + + + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + Input/Output limit of block devices + + + + + False + True + 2 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0.019999999552965164 + in + + + True + False + 5 + + + True + True + 5 + 5 + 5 + 5 + 5 + 5 + + + + + + + True + False + Manual input (for advanced users) + + + + + False + True + 3 + + + + + False + True + 1 + + + + + True + False + + + True + False + + + False + True + 0 + + + + + True + True + True + 5 + 5 + 5 + 5 + 5 + 5 + + + True + False + + + True + False + gtk-stop + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + Cancel + + + False + True + 1 + + + + + + + False + True + end + 1 + + + + + True + True + True + 5 + 5 + 5 + 5 + 5 + 5 + + + True + False + + + True + False + gtk-save + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + Save + + + False + True + 1 + + + + + + + False + True + end + 1 + + + + + False + True + 2 + + + + + + + True + False + True + + + True + False + Settings quotas - Editing + + + + + + + + True + False + 32 + com.ublinux.ubl-settings-resourcequota + 5 + + + + + + + 1 + 10000 + 1 + 1 + 10 + + + 100 + 1 + 10 + + + 100 + 1 + 10 + + + 100 + 1 + 10 + + + 100 + 1 + 10 + + + 100 + 1 + 10 + + + True + False + process-stop-symbolic + + + True + False + emblem-ok-symbolic + + + False + False + 450 + dialog-question-symbolic + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + vertical + 10 + + + True + False + + + True + False + start + 20 + 20 + dialog-question-symbolic + 6 + + + False + True + 0 + + + + + True + False + vertical + + + True + False + start + 10 + 5 + Would you like to read documentation in the Web? + True + 0 + + + + + + + False + True + 0 + + + + + True + False + start + start + 10 + 10 + You will be redirected to documentation website where documentation is +translated and supported by community. + True + 0 + + + + False + True + 1 + + + + + Always redirect to online documentation + True + True + False + end + True + + + + False + True + end + 2 + + + + + + True + True + 1 + + + + + + True + True + 0 + + + + + True + False + 30 + True + + + Cancel + True + True + True + image8 + + + + True + True + 0 + + + + + Read Online + True + True + True + image9 + + + + True + True + 1 + + + + + False + True + 1 + + + + + + + True + False + True + + + True + False + UBLinux Settings + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + False + False + False + + + True + False + False + + + True + False + + + + + + True + False + + + + + + True + False + False + + + True + False + + + + + + True + False + + + + + + True + False + + + + + + 640 + 500 + False + center + 700 + 500 + com.ublinux.ubl-settings-resourcequota + center + + + True + False + vertical + + + True + False + vertical + + + True + False + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 25 + + + False + True + 0 + + + + + True + False + start + 5 + 5 + 5 + 5 + 6 + 6 + True + 0 + + + + + + + False + True + 1 + + + + + False + True + 0 + + + + + True + False + vertical + + + 81 + True + False + + + True + False + start + + + -1 + + + + + False + True + 0 + + + + + False + True + 1 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + True + True + vertical + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + True + True + vertical + + + True + True + + + True + False + vertical + + + True + True + in + + + True + False + + + True + True + adjustment5 + liststore + 0 + + + + + + True + autosize + Type quota + True + + + 15 + word + + + 0 + + + + + + + True + autosize + Quota +object + True + + + word + 15 + + + 1 + + + + + + + True + autosize + Soft RAM limit, +(volume) + True + + + 8 + word + + + 2 + + + + + + + True + autosize + Hard RAM limit, +(volume) + True + + + 8 + word + + + 3 + + + + + + + True + autosize + Swap file +limit +(volume) + True + + + 8 + word + + + 4 + + + + + + + True + autosize + CPU limit +(%) + True + + + 8 + word + + + 5 + + + + + + + True + autosize + I/O +limit +(read) + True + + + word + 10 + + + 6 + + + + + + + True + autosize + I/O +limit +(write) + True + + + word + 10 + + + 7 + + + + + + + + + + + True + True + 0 + + + + + True + False + + + True + True + True + 5 + 5 + 5 + 5 + 5 + 5 + + + True + False + + + True + False + com.ublinux.ubl-settings-resourcequota.funnel + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + Filters + + + False + True + 1 + + + + + + + False + True + 0 + + + + + + + + True + True + True + 5 + 5 + 5 + 5 + 5 + 5 + + + True + False + + + True + False + tab-new-symbolic + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + Add + + + False + True + 1 + + + + + + + False + True + end + 2 + + + + + True + True + True + 5 + 5 + 5 + 5 + 5 + 5 + + + True + False + + + True + False + error-correct-symbolic + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + Edit + + + False + True + 1 + + + + + + + False + True + end + 3 + + + + + True + True + True + 5 + 5 + 5 + 5 + 5 + 5 + + + True + False + + + True + False + software-remove-symbolic + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + Remove + + + False + True + 1 + + + + + + + False + True + end + 4 + + + + + True + True + True + 5 + 5 + 5 + 5 + 5 + 5 + + + True + False + + + True + False + dialog-information-symbolic + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + Information + + + False + True + 1 + + + + + + + False + True + end + 5 + + + + + False + True + 2 + + + + + + + True + False + List quotas + + + False + + + + + True + False + vertical + + + True + False + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + Update every + + + False + True + 0 + + + + + True + True + 5 + 5 + 5 + 5 + 5 + 5 + 6 + 1 + adjustDisp + + + False + True + 1 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + seconds + + + False + True + 2 + + + + + True + True + True + 5 + 5 + 5 + 5 + 5 + 5 + + + True + False + center + + + True + False + emblem-synchronizing-symbolic + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + Update + + + False + True + 1 + + + + + + + True + True + 3 + + + + + False + True + 0 + + + + + True + False + + + True + False + True + natural + adjustment1 + natural + UTF-8 + True + False + + + True + True + 0 + + + + + True + False + vertical + adjustment1 + + + False + True + 1 + + + + + True + True + 1 + + + + + 1 + + + + + True + False + Dispatcher + + + 1 + False + + + + + True + False + vertical + + + True + False + + + All groups including empty + True + True + False + 5 + 5 + 5 + 5 + 5 + 5 + True + + + False + True + 0 + + + + + Core streams + True + True + False + 5 + 5 + 5 + 5 + 5 + 5 + True + + + False + True + 1 + + + + + False + True + 0 + + + + + True + False + + + True + False + True + natural + adjustment2 + natural + UTF-8 + 1024 + True + False + + + True + True + 0 + + + + + True + False + vertical + adjustment2 + + + False + True + 1 + + + + + True + True + 1 + + + + + 2 + + + + + True + False + Processes + + + 2 + False + + + + + True + False + vertical + + + True + False + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + View properties for + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 0 + 0 + + User + Process + Slice + + + + True + True + 1 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + + + True + True + 2 + + + + + False + True + 0 + + + + + True + False + + + True + False + True + natural + adjustment3 + natural + UTF-8 + True + False + + + True + True + 0 + + + + + True + False + vertical + adjustment3 + + + False + True + 1 + + + + + True + True + 1 + + + + + 3 + + + + + True + False + Information + + + 3 + False + + + + + + + + + + + True + True + 0 + + + + + False + True + 0 + + + + + False + True + 2 + + + + + True + True + 0 + + + + + + + True + False + True + + + True + False + 5 + 5 + 5 + 5 + 2 + ubl-settings-resourcequota + + + + + + + + True + False + 5 + 5 + 5 + 5 + 6 + 6 + 32 + com.ublinux.ubl-settings-resourcequota + + + + + True + False + + + True + True + False + True + menuSave + + + True + False + + + True + False + Save + + + False + True + 0 + + + + + True + False + pan-down-symbolic + + + False + True + 1 + + + + + + + False + True + 0 + + + + + True + True + True + False + True + True + menuAbout + none + + + + + + + False + True + 1 + + + + + end + 1 + + + + + True + False + + + True + True + False + True + menuLoad + + + True + False + + + True + False + Load + + + False + True + 0 + + + + + True + False + pan-down-symbolic + + + False + True + 1 + + + + + + + False + True + 0 + + + + + 2 + + + + + + + + vertical + + + + + + + + False + start + False + com.ublinux.ubl-settings-resourcequota + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + vertical + + + Type quota + True + True + False + start + True + + + False + True + 0 + + + + + Quota volume + True + True + False + start + True + + + False + True + 1 + + + + + Soft RAM limit, (volume) + True + True + False + start + True + + + False + True + 2 + + + + + Hard RAM limit, (volume) + True + True + False + start + True + + + False + True + 3 + + + + + True + False + end + 5 + 5 + True + + + True + True + True + center + + + True + False + + + True + False + gtk-stop + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + Cancel + + + False + True + 1 + + + + + + + False + True + 0 + + + + + True + True + True + center + + + True + False + + + True + False + gtk-save + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + Save + + + False + True + 1 + + + + + + + False + True + 1 + + + + + False + True + end + 5 + + + + + Swap file limit (volume) + True + True + False + start + True + + + False + True + 5 + + + + + CPU limit (%) + True + True + False + start + True + + + False + True + 6 + + + + + I/O limit (read) + True + True + False + start + True + + + False + True + 7 + + + + + I/O limit (write) + True + True + False + start + True + + + False + True + 8 + + + + + + + True + False + True + + + True + False + Filters + + + + + + + + True + False + 32 + com.ublinux.ubl-settings-resourcequota + 5 + + + + + + diff --git a/source/ubl-settings-resourcequota.c b/source/ubl-settings-resourcequota.c index b5c6917..cb3f1ec 100644 --- a/source/ubl-settings-resourcequota.c +++ b/source/ubl-settings-resourcequota.c @@ -443,11 +443,16 @@ void str_split_value(char* values, int index) { init_cfg_array(index); char* value_i = NULL; int index_1 = 0; + int read_index = -1; + int write_index = -1; for (index_1=0; index_1 < size; index_1++) { value = yon_char_new(arr_values[index_1]); key = yon_char_divide_search(value, "=", -1); - if (strstr(key, "IOReadBandwidthMax") || strstr(key, "IOWriteBandwidthMax")) { - break; + if (strstr(key, "IOReadBandwidthMax")) { + read_index = index_1; + } + if (strstr(key, "IOWriteBandwidthMax")) { + write_index = index_1; } if (yon_char_find_count(key, "MemoryHigh") != 0) { philos_set_pow_size_memory(yon_char_new(value), &main_config.soft_raw_limit_size, index, array_size_pow); @@ -466,8 +471,27 @@ void str_split_value(char* values, int index) { set_size_memory_integer(yon_char_new(value), &main_config.cpu_limit, index); } } - get_param_io_limit(arr_values, index_1, size,index, "IOReadBandwidthMax"); - get_param_io_limit(arr_values, index_1, size,index, "IOWriteBandwidthMax"); + if (read_index != -1 || write_index != -1) { + if (read_index != -1 && write_index != -1) { + if (write_index > read_index) { + get_param_io_limit(arr_values, read_index, write_index, index, "IOReadBandwidthMax"); + get_param_io_limit(arr_values, write_index, size , index, "IOWriteBandwidthMax"); + + } + else { + get_param_io_limit(arr_values, write_index, read_index,index, "IOWriteBandwidthMax"); + get_param_io_limit(arr_values, read_index, size , index, "IOReadBandwidthMax"); + } + } + else if (read_index != -1) { + get_param_io_limit(arr_values, read_index, size,index, "IOReadBandwidthMax"); + } + else if (write_index != -1) { + get_param_io_limit(arr_values, write_index, size,index, "IOWriteBandwidthMax"); + } + } + + }