Цитата(Daniil @ Jul 19 2005, 08:29)
Не должно. При повторном запуске mknod просто должна выдавать ошибку, говоря что файл уже существует.
Кстати, а какая ОС?
А если закоменировать mknod то не виснет?
Пардон, я слегка ошибся с кодом. Вызов mknod() отрабатывается нормально, а вот open() на созданный файл приводит к зависанию:
Код
int main(void)
{
int readfd, n;
char buf[80];
if ( mknod(FIFO, S_IFIFO|0666, 0) == -1 ) {
perror("pipe() error");
exit(1);
}
if ( (readfd = open(FIFO, O_RDONLY)) < 0 ) {
perror("open() error");
exit(1);
}
// вот здесь висим
...
linux, ядро 2.4.20, glibc-2.3.2