Когда постоянно меняешь режим (ap 2 sta) hostapd, то куча процесса netifd растут - PullRequest
0 голосов
/ 03 декабря 2018

Я пишу скрипт для изменения режима hostapd ap на sta и sta на ap, который длится в течение нескольких часов, а процесс netifd зависает.

cat proc/id/maps


0400000-0041f000 r-xp 00000000 1f:06 1176       /sbin/netifd
0042f000-00430000 rw-p 0001f000 1f:06 1176       /sbin/netifd
**00430000-00476000 rwxp 00000000 00:00 0          [heap]**
772af000-7730a000 r-xp 00000000 1f:06 144        /lib/libuClibc-0.9.33.2.so

00400000-0041f000 r-xp 00000000 1f:06 1176       /sbin/netifd
0042f000-00430000 rw-p 0001f000 1f:06 1176       /sbin/netifd
**00430000-00477000 rwxp 00000000 00:00 0          [heap]**
772af000-7730a000 r-xp 00000000 1f:06 144        /lib/libuClibc-0.9.33.2.so

Я нахожу эту кучупроцесс постоянно растет.не может это исправить.

Измените режим ap, hostapd будет разорван и настроен.и куча процесса netifd растет.

наконец это вызывает

netifd/wireless.c 
wireless_device_run_handler()->netifd_start_process()

netifd/main.c 
netifd_start_process()->
if ((pid = fork()) < 0)
goto error;

сбой вилки , потому что

log

netifd_start_process>>>>>>>>after fork create
error on triggering 12: Cannot allocate memory

(куча netifd использует все больше и больше памяти при запуске скрипта)


часть скрипта

uci set wireless.@wifi-iface[$1].mode="$apmode"
uci commit wireless

/ sbin / wifi reload

...