Re: CGP for OS/2

От: Vladimir A. Butenko <CGatePro_at_mx_ru>
Дата: Thu 06 Nov 2003 - 23:29:09 MSK


On Thu, 06 Nov 2003 17:24:53 +0200
  <CGatePro@mx.ru> (Alexander Lapshin) wrote:
> Есто несколько проблем с SUBJ.
>
> 1) При использовании mail.exe создаются такие *.msg, которые CGP
> превращает в *.bad. Видимо в создаваемом файле лишний символ \r, т.е.
> строка заканчивается \r\n\r. При этом sendmail.exe работает корректно.

Спасибо, посмотрим.

> 2) При еспользовании внешних программ в качестве доставки CGP не работает
> с REXX'ом и CMD-батниками, т.е. конструкция типа:
> "[FILE] C:\APP\CommuniGate\CMD\LigaZakon.Cmd"@pipe
> светит ошибку в логе:
> Error Code=Bad External Application Name
> Выяснилось, что работают тольно EXE'шники. :-(
Естественно. Программой в ОС называется то, что ядро ОС может запустить. Если ядро может запускать только бинарники (как в современных Виндоузах, так и в Windows NT 2.0 aka OS/2), то они и есть программы. В Унихах exec() пожет понять, что надо запустить интерпретатор - поэтому там и .pl - программа.

Но - не всё так плохо. Во-первых, никто не мешает Вам запустить все явно, "[FILE] CMD C:\APP\....." (то есть с явным указанием интерпретатора). Во-вторых, посмотрите на страничку Settings->WebUser. Она там с такими системами борется явным указанием интерпретаторов - для CGI, но, кажется, это работает и для Rules Exec.

> 3) Оказалось, что при использовании приёма через STDIN (т.е. без
> конструкции [FILE]) в вызываемую программу передаётся не всё письмо. Т.е.
> письмо передаётся через STDIN на примерно 90%-95% после чего pipe не
> закрывается и продолжает весеть, до истечения таймаута. По всей видимости
> в конце передчи со стороны CGP не сделан flush() потоку.

Хм. Там нету никаких flush(), потому что в CGatePro нет никаких С-шных библиотек. Оно пишет прямо операциями write(), и потом - close(). А вот чего оно не делает, так это не читает strderr и stdout - пока все в stdin() не запихнет. И если Ваша программа что-то в них пишет, то она зависнет, причем сильно раньше, чем в Unix. Проверьте, пожалуйста, может, в этом все дело.   

> --
> (c)ALex
>
>
> ##################################################################
> Вы получили это сообщение потому, что подписаны на список рассылки
> <CGatePro@mx.ru>.
>
> Чтобы отписаться, отправьте сообщение на адрес <CGatePro-off@mx.ru>
> Чтобы переключиться в режим дайджеста - mailto:<CGatePro-digest@mx.ru>
> Чтобы переключиться в индексный режим - mailto:<CGatePro-index@mx.ru>
> Для административных запросов адрес <CGatePro-request@mx.ru>
>
>
>

Sincerely,
Vladimir Получено Thu Nov 06 20:31:16 2003

Этот архив был сгенерирован hypermail 2.1.8 : Fri 24 Apr 2015 - 16:12:51 MSK