Должна ли функция socket sys (libc )всегда возвращать один и тот же результат для одних и тех же параметров?

Поставь это:

export NO_AT_BRIDGE=1 

где-то, где он запускается, например. в /etc/environmentили ваш ~/.bashrc/~/.bash_profile.

Этот обходной путь предлагается на этой вики-странице(на немецком языке ), но я не совсем понимаю, зачем он нужен и что он на самом деле делает, так что будьте осторожны.

0
24.08.2021, 18:16
1 ответ

Большинство библиотечных функций POSIX, которые возвращают новые файловые дескрипторы, выделяют наименьший -номер дескриптора, который не используется. Одним заметным исключением является функция dup2, целью которой является дублирование дескриптора на определенное число.:dup2(old, new)возвращает new.

Если вы пишете цикл, в котором вы вызываете socketс определенными аргументами, так что возвращается дескриптор, и вы closeэтот дескриптор и никакие другие потоки не выделяют или не уничтожают дескрипторы, тогда socketдолжен возвращать один и тот же номер дескриптора каждый раз.

Это число каждый раз относится к другому объекту; это похоже на re -с использованием выделения памяти, которая была освобождена.

1
24.08.2021, 23:18

Теги

Похожие вопросы