[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dazuko-devel] dazukofs-3.0.0 interrupted system calls

From: John Ogness
Subject: Re: [Dazuko-devel] dazukofs-3.0.0 interrupted system calls
Date: Fri, 27 Feb 2009 08:41:25 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (berkeley-unix)

On 2009-02-26, Frantisek Hrbata <address@hidden> wrote:
> I experimentally added support for dazukofs to our upcoming avg8
> because I would like to make some performance comparison between
> dazukofs and avflt.

Nice. It would be great if you could post the results of your tests

> After dazukofs integration to our scanner I have noticed that
> dazukofs_get_access returns a lots of -EINTR. I am using dazukofs in
> a multi-threaded scanner and this error occurs only when more then
> one thread is used. I wrote a simple showfiles_mt application using
> dazukofs in several threads just to check out if the problem is in
> my integration or in dazukofs. As I found out I can easily reproduce
> this behavior with showfiles_mt.

I am running a multi-threaded application without any such
problems. However, my implementation is a bit different then yours. I
will try to illustrate the difference here using a diff-like approach.

int main(void)
-    signal(SIGTERM, sigterm);
-    signal(SIGINT, sigterm);
+    sigset_t sigset;
+    /* detect TERM signals */
+    signal(SIGTERM, sigterm);
+    signal(SIGINT, sigterm);
+    signal(SIGHUP, sigterm);
+    /* ignore SIGUSR1 (only used by threads) */
+    if (sigemptyset(&sigset) == 0) {
+       sigaddset(&sigset, SIGUSR1);
+       sigprocmask(SIG_BLOCK, &sigset, NULL);
+    }

+    sigset_t sigset;
+    if (sigemptyset(&sigset) == 0) {
+       sigaddset(&sigset, SIGTERM);
+       sigaddset(&sigset, SIGINT);
+       sigaddset(&sigset, SIGHUP);
+       pthread_sigmask(SIG_BLOCK, &sigset, NULL);
+    }

 Also there is just a simple single process example
> shipped within dazukofs package so I am not sure if I am using it
> right. But as I peeked into the code I think my integration is ok. I
> wasn't digging very deep, but I am pretty sure the -ERESTARTSYS is
> returned by wait_event_freezable in dazukofs_get_event. I just can
> not see what(signal?) is interrupting it. Anyway I attached a patch
> for dazukofs-3.0.0 which adds showfiles_mt so you should be able to
> reproduce it.
> 1) copy dazukofs-3.0.0-showfiles_mt.patch into the dazukofs-3.0.0
>    source code
> 2) in the dazukofs-3.0.0 directory use
>    $ patch -p1 < dazukofs-3.0.0-showfiles_mt.patch
> 3) now you can use showfiles_mt in the same way as showfiles
> Could you please look at the showfiles_mt if my implementation is ok
> or if there is a bug in dazukofs?
> Thanx
> -FH 
> _______________________________________________
> Dazuko-devel mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/dazuko-devel

reply via email to

[Prev in Thread] Current Thread [Next in Thread]