The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Можно ли Линухе блокировать процесс до появления файлов в ди..."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Можно ли Линухе блокировать процесс до появления файлов в ди..."
Сообщение от Alexzy Искать по авторуВ закладки(??) on 26-Окт-04, 10:02  (MSK)
Существует ли в Линуксе механизм разблокировки процесса/потока по критерию появления в директории файлов?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Можно ли Линухе блокировать процесс до появления файлов в ди..."
Сообщение от tian emailИскать по авторуВ закладки on 26-Окт-04, 12:00  (MSK)
>Существует ли в Линуксе механизм разблокировки процесса/потока по критерию появления в директории
>файлов?

man fcntl

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Можно ли Линухе блокировать процесс до появления файлов в ди..."
Сообщение от Alexzy Искать по авторуВ закладки(??) on 26-Окт-04, 13:45  (MSK)

>man fcntl

Это конечно все здорово, а поконкретнее?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Можно ли Линухе блокировать процесс до появления файлов в ди..."
Сообщение от foxru Искать по авторуВ закладки(ok) on 26-Окт-04, 16:29  (MSK)
>Существует ли в Линуксе механизм разблокировки процесса/потока по критерию появления в директории
>файлов?


игрался с таким кодом, посмотри может поможет

#define _GNU_SOURCE
#include <fcntl.h>
#include <signal.h>
#include <stdio.h>
#include <unistd.h>

static volatile int event_fd;

static void handler(int sig,siginfo_t *si, void *data){
        event_fd = si->si_fd;
}

int main(void){
        struct sigaction act;
        int fd;

        act.sa_sigaction = handler;
        sigemptyset(&act.sa_mask);
        act.sa_flags = SA_SIGINFO;
        sigaction(SIGRTMIN, &act, NULL);

        fd = open(".", O_RDONLY);
        fcntl(fd, F_SETSIG, SIGRTMIN);
        fcntl(fd, F_NOTIFY, DN_MODIFY|DN_CREATE|DN_MULTISHOT);
        for(;;){
                pause();
                printf("%d\n",event_fd);
        }
        return 0;
}

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Можно ли Линухе блокировать процесс до появления файлов в ди..."
Сообщение от Murr Искать по авторуВ закладки(??) on 26-Окт-04, 18:05  (MSK)
/usr/src/linux/Documentation/dnotify.txt
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру