On Thu, Aug 1, 2013 at 10:34 PM, Roland Mainz <[email protected]> wrote:
> 2013/8/1 Glenn Fowler <[email protected]>:
> [snip]
>>
>> its in src/lib/libast/path/pathopen.c which unifies all of the
>> /dev/ and /proc/<pid>/<fd>/ intercepts in one place
>> my bad
>> try this patch
>> (your line numbers will differ because mast source doesn't have the 
>> copyright comment)
>>
>> --- .../path/pathopen.c Tue Jul 23 14:51:50 2013
>> +++ path/pathopen.c     Thu Aug  1 14:55:47 2013
>> @@ -162,7 +162,12 @@
>>                                 return 1;
>>                         }
>>
>> -                       /* F_GETFL must match oflags */
>> +                       /* a trailing path component means dev.fd must be a 
>> directory */
>> +
>> +                       if (b[dev.path.offset])
>> +                               return openat(dev.fd, b + dev.path.offset, 
>> oflags, mode);
>> +
>> +                       /* the path boils down to just dev.fd -- F_GETFL 
>> must match oflags */
>>
>>                         if (!(f & O_RDWR) && (f & O_ACCMODE) != (oflags & 
>> O_ACCMODE))
>>                         {
>
> Thanks... the patch seems to fix the issue on SuSE
> 12.3/Linux/AMD64/64bit... I'll test more platforms (Solaris) later
> today...
> ... and if I find time I write a "directoryfd.sh" test module to cover
> this area...

Attached (as "directoryfd.sh.gz") is the prototype for a test module
which watches over the directory file descriptor functionality. It
doesn't contain all tests I'd like to integrate but it would be nice
to add it to ast-ksh&co. for now so this functioanlity doesn't get
broken again...

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) [email protected]
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 3992797
 (;O/ \/ \O;)

Attachment: directoryfd.sh.gz
Description: GNU Zip compressed data

_______________________________________________
ast-developers mailing list
[email protected]
http://lists.research.att.com/mailman/listinfo/ast-developers

Reply via email to