I looked at http://www2.research.att.com/sw/download/man/man3/aso.html

Is this code correct to obtain a critical lock, and release it?

int a_lock;

/* lock mutex "a_lock" */
(void)asolock(&a_lock, 12345, ASO_LOCK);

do something here;

/* unlock mutex "a_lock" */
(void)asolock(&a_lock, 12345, ASO_UNLOCK);

Olga

PS: aso does not have real reader/writer locks, does it?

On Thu, Aug 16, 2012 at 5:31 PM, Glenn Fowler <g...@research.att.com> wrote:
>
> aso(3) man page is on line
>
> On Thu, 16 Aug 2012 16:21:52 +0200 =?KOI8-R?B?z8zYx8Egy9LZ1sHOz9fTy8HR?= 
> wrote:
>> Phong, how do I use aso to get an exclusive lock/mutex, and release
>> it? Can a aso lock/mutex be nested?
>
>> Olga
>
>> On Thu, Aug 16, 2012 at 4:16 PM, Glenn Fowler <g...@research.att.com> wrote:
>> >
>> > any locking/critical regions will have to use aso
>> > because libast itself does not require -l*thread*
>> >
>> > On Thu, 16 Aug 2012 16:11:16 +0200 =?KOI8-R?B?z8zYx8Egy9LZ1sHOz9fTy8HR?= 
>> > wrote:
>> >> Glenn, is the general plan of putting a openat() emulation into libast
>> >> acceptable for you? I found that Roland wrote one in 2004 with threads
>> >> in mind, and that it only needs polishing and testing. If you agree to
>> >> take it I can spend some time this evening on it.
>> >
>> >> Olga
>> >
>> >> On Thu, Aug 16, 2012 at 1:20 AM, Glenn Fowler <g...@research.att.com> 
>> >> wrote:
>> >> >
>> >> > On Thu, 16 Aug 2012 01:09:29 +0200 
>> >> > =?KOI8-R?B?z8zYx8Egy9LZ1sHOz9fTy8HR?= wrote:
>> >> >> Glenn, have you ever considered putting an openat(), fstatat(),
>> >> >> mkfifoat() emulation into libast, if the base operating system does
>> >> >> not have such calls? I have been trying more tests with the at() apis
>> >> >> but I am not happy to trash much of libshell with lots of #ifdef
>> >> >> AT_CWD tests if there is a better option.
>> >> >
>> >> >> AFAIK a lot of the at() calls can be emulated by using
>> >> >> /dev/fd/${dirfd}/${path} or /proc/${pid}/fd/${dirfd}/${path}. I just
>> >> >> do not know, are there cases where /dev/fd or /proc/${pid}/fd are not
>> >> >> available (chroot environments?)?
>> >> >
>> >> > there are a lot of systems with lame or no /proc
>> >> > and it will be hard to work around systems with no O_search
>> >> >
>> >> > but let me think a bit on that
>> >> > if we didn't have to worry about dir fd's across exec (probably rare 
>> >> > right now)
>> >> > we might be able to cache emulated open(O_search) paths with <dev,ino> 
>> >> > keys
>> >> > on systems that don't support /dev/fd/<FD>/<PATH> pr 
>> >> > /proc/<PID>/fd/<FD>/<PATH>
>> >> >> Olga
>> >> >> --
>> >> >>       ,   _                                    _   ,
>> >> >>      { \/`o;====-    Olga Kryzhanovska   -====;o`\/ }
>> >> >> .----'-/`-/     olga.kryzhanov...@gmail.com   \-`\-'----.
>> >> >>  `'-..-| /       http://twitter.com/fleyta     \ |-..-'`
>> >> >>       /\/\     Solaris/BSD//C/C++ programmer   /\/\
>> >> >>       `--`                                      `--`
>> >> >
>> >
>> >> --
>> >>       ,   _                                    _   ,
>> >>      { \/`o;====-    Olga Kryzhanovska   -====;o`\/ }
>> >> .----'-/`-/     olga.kryzhanov...@gmail.com   \-`\-'----.
>> >>  `'-..-| /       http://twitter.com/fleyta     \ |-..-'`
>> >>       /\/\     Solaris/BSD//C/C++ programmer   /\/\
>> >>       `--`                                      `--`
>> >
>
>> --
>>       ,   _                                    _   ,
>>      { \/`o;====-    Olga Kryzhanovska   -====;o`\/ }
>> .----'-/`-/     olga.kryzhanov...@gmail.com   \-`\-'----.
>>  `'-..-| /       http://twitter.com/fleyta     \ |-..-'`
>>       /\/\     Solaris/BSD//C/C++ programmer   /\/\
>>       `--`                                      `--`
>
> .,



-- 
      ,   _                                    _   ,
     { \/`o;====-    Olga Kryzhanovska   -====;o`\/ }
.----'-/`-/     olga.kryzhanov...@gmail.com   \-`\-'----.
 `'-..-| /       http://twitter.com/fleyta     \ |-..-'`
      /\/\     Solaris/BSD//C/C++ programmer   /\/\
      `--`                                      `--`
_______________________________________________
ast-developers mailing list
ast-developers@research.att.com
https://mailman.research.att.com/mailman/listinfo/ast-developers

Reply via email to