|
From: Mike S. <ma...@gm...> - 2011-08-04 01:33:03
|
On Tue, Jul 19, 2011 at 8:04 PM, Mike Shal <ma...@gm...> wrote: > On Tue, Jul 19, 2011 at 3:17 AM, Julian Seward <js...@ac...> wrote: >> It may be that you only need to add that flag to enough syscalls >> to break cycles of threads waiting for each other: once one link >> in the cycle is broken then it won't deadlock. I guess that's not >> robust in the worst case though, so all affected syscalls would >> need to be marked. >> >> Your patch on bug 287057 looks OK, although it would be good if you >> could fill in at least the amd64-linux equivalents too. > > The only one in syswrap-x86-linux.c I had patched was sys_stat64(), > which doesn't appear in syswrap-amd64-linux.c (nor does sys_stat()). > I'll see if I can try to run my tests on a 64-bit system to see if > that hangs up in any different calls. I finally got a chance to run on an x86_64 host. I updated the patch to avoid blocking in sys_newfstatat(), since that is used on the 64-bit system. The patch also adds sys_fstatat64(), which was needed for a 32-bit host (I added an fstatat() call to my program, so this was a new hangup). Any chance this patch for the --fuse-compatible flag can get into svn? Or if that's not the best approach, let me know and I can try to provide an alternative patch. Thanks! -Mike |