>Для того чтобы снять ограничение во FreeBSD 6.1 256 консолей (authpf орет
>когда достигнут предел 256 коннектов псевдотерминалов - error: openpty: No such
>file or directory error: session_pty_req: session 0 alloc failed) была предпринята
> неудачная попытка пропатчить /sys/kern/tty_pty.с по этой ссылке. (http://www.freebsd.org/cgi/query-pr.cgi?pr=90896).
>После патча можно создать уже только 10 псевдотерминалов (ttyp0 - ttyp9)
>после чего authpf опять орет - - error: openpty: No such file
>or directory error.
>В программировании я полный ноль, помогите , Где ошибка в патче ?
>
>Помогите кто сталкивался с подобной проблемой ? Какие пути решения нашли ?
>(увеличения 256 консолей) правкой /sys/kern/tty_pty.с sorry, но вы смысл не понимаете, консоли и pty - несколько разные вещи, патч
НЕ ПРОВЕРЯЛ, но мельком глянул - должен работать.
1) либо воспользоваться патчем, либо внимательно посмотреть tty_pty.c:
static char *names = "pqrsPQRS";
/*
* This function creates and initializes a pts/ptc pair
*
* pts == /dev/tty[pqrsPQRS][0123456789abcdefghijklmnopqrstuv]
* ptc == /dev/pty[pqrsPQRS][0123456789abcdefghijklmnopqrstuv]
*
* XXX: define and add mapping of upper minor bits to allow more
* than 256 ptys.
*/
выше: XXX: определите и добавьте верхние биты чтобы было более 256 ptys, а это:
*names = "pqrsPQRS" - см выше, вот *names и предлагают расширить.
верхние: "pqrsPQRS", нижние 32 = "0123456789abcdefghijklmnopqrstuv"
ниже по коду:
pt->devs = devs = make_dev_cred(&pts_cdevsw, n, td->td_ucred,
UID_ROOT, GID_WHEEL, 0666, "tty%c%r", names[n / 32], n % 32);
если нужно, я конечно проверю патч, но в вашей ссылке - Роберт Watson дает полный
комментарий на предмет изменения и создания нового кода ptys:
http://www.watson.org/~robert/freebsd/pts/
Правда он пока только в 7'ке (Current), но возможно используя верхнее можно в 6'ку
имплементировать.
Sorry, не смотрел будет это в 6'ке или нет...