Gravação atômica em um soquete unix?

Estou tentando escolher entretubos esoquetes unix para um mecanismo IPC.
Ambos apoiam oselect() eepoll() funções que é ótimo.

Agora, os pipes têm uma gravação "atômica" de 4kB (a partir de hoje), garantida pelo Kernel do Linux.
Existe esse recurso no caso de soquetes unix? Não encontrei nenhum documento declarando isso explicitamente.

Digamos que eu use um soquete UNIX e escreva x bytes de dados do meu cliente. Tenho certeza de que esses x bytes serão gravados na extremidade do soquete do servidor quando o servidor estiverselect() rachaduras?

Sobre o mesmo assunto, o uso de SOCK_DGRAM garantiria que as gravações sejam atômicas (se essa garantia for possível), pois os datagramas devemestar mensagens únicas e bem definidas?
Qual seria a diferença usando SOCK_STREAM como modo de transferência?

Desde já, obrigado.

questionAnswers(2)

yourAnswerToTheQuestion