Glenn Fowler wrote:
> ast fts provides void* fts_handle in the FTS handle returned by fts_open()
> fts_handle is initialized to 0; the caller can set it to any value
> and that value is preserved until fts_close()
>
Ah, I was looking for it in the wrong place, thanks!
-Will
> also provided is FTS* fts in the FTSENT struct
> the caller defined comparison function takes two FTSENT** pointers
> each makes the FTS* fts available and from that you can get fts_handle
>
> -- Glenn Fowler -- AT&T Research, Florham Park NJ --
>
> On Tue, 06 May 2008 23:22:37 -0400 Will Young wrote:
>
>> One of the reasons I would prefer to use fts_* directly rather than
>> ftwalk() is the thread safety.
>> With fts_open(), fts_read() my function can know its own context, with
>> ftwalk() or nftw() a commonly available user function must resort to
>> globals. (The static fts_compare state in ftwalk() also looks like a MT
>> problem.)
>>
>
>
>> With the fts_* design, the one MT issue I see is in the comparator,
>> (it does not matter in my context since there are no thread/context
>> specific behaviors to my comparator,) but for general cases the
>> comparator should probably have been given access to a void * registered
>> on fts_open().
>>
>
> _______________________________________________
> ksh93-integration-discuss mailing list
> ksh93-integration-discuss at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss
>