Como evitar que o Apache use o MMap de bloqueios de gravação em um arquivo durante a exibição no Windows 2k8?

1

Estou executando um Apache 2.2.4 no Windows 64bit usando o sistema de arquivos NTFS local. Ativei a opção Mmap e notei que o Apache parece adquirir um bloqueio de gravação e mantê-lo por um longo período. No meu exemplo, ele está servindo um arquivo XML de 2 MB.

Infelizmente eu preciso de outro processo para poder atualizar este arquivo XML periodicamente, mas o bloqueio tornará isso impossível. Assim que desativo o MMap, a gravação no arquivo XML funciona bem.

Você pode me apontar na direção certa para saber mais sobre o MMap e por que ele adquire o bloqueio e como permitir que ele seja atualizado por um segundo processo?

    
por Stephan 14.09.2011 / 21:51

1 resposta

1

O MMap mapeia o arquivo para a memória. No Windows, você não pode modificar um arquivo mapeado na memória. Se você precisar modificar o arquivo e não puder reiniciar o servidor para fazer isso, não será possível usar o MMap.

Observe que a documentação do MMap aponta que, mesmo que você possa modificar o arquivo (por exemplo, no Unix), será necessário reiniciar o servidor sempre que o arquivo for alterado.

    
por 15.09.2011 / 05:17