Pessoal,

Algu�m j� se deparou com a mensagem de erro do lpd, que diz:

NOME_DA_IMPRESSORA: readfile: error on open(NOME_ARQ_TEMP): File exists

O sistema � um 4.7-RELEASE-p3 e existem diversas impressoras configuradas. Todas as impress�es s�o enviadas por um mainframe de acordo com o uso das aplica��es.

Esse erro acontece de forma intermitente e ainda n�o consegui identificar um padr�o (c�clico) baseado na forma como o NOME_ARQ_TEMP � formado. Analisei o arquivo /usr/src/usr.sbin/lpr/lpd/recvjob.c e descobri que a fun��o readjob() chama a fun��o readfile() - que � a que emite a mensagem no syslog (vide acima).

A fun��o readjob() recebe o comando de impress�o e passa a bola para a readfile() gravar o arquivo no diret�rio de spool (com O_CREAT | O_EXCL !!!) e depois continuar o processo. Entretanto, ao ler SUPERFICIALMENTE o c�digo (quase nada documentado) percebi que ele forma o nome do arquivo (na vari�vel 'cp') a partir da requisi��o da impress�o, concatenando com o nome do host de origem da impress�o.

Por n�o ter tido tempo de verificar todo o c�digo do lpd, gostaria de saber, COM CERTEZA, se a primeira parte do NOME_ARQ_TEMP � gerado aleatoriamente ou apenas uma c�pia do nome do arquivo original a ser impresso l� no host de origem? Algu�m sabe a resposta? Pelo menos na fun��o readjob() n�o vi nenhuma men��o a fun��es como *random*().

Preciso saber se � o lpd quem est� fazendo a confus�o ou o mainframe quem est� gerando arquivos com nomes repetidos, pois caso seja o �ltimo, passo o abacaxi para o respons�vel, lavando minhas m�os :-). Isso est� causando alguns transtornos e atrapalhando um pouco a administra��o desse servi�o, pois tenho que, frequentemente, limpar as filas de impress�o das 25 impressoras. N�o � poss�vel que eu n�o possa enviar dois arquivos com o mesmo nome para impress�o! Ao mesmo tempo, ao ser impresso, o arquivo tempor�rio do spool � removido, o que evitaria esse problema chato.

Obrigado
Leonardo

_______________________________________________________________
Sair da Lista: http://www2.fugspbr.org/mailman/listinfo/fugspbr
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/

Responder a